From 9e0bdd873d38eb7dd24ebae2c873bc9a4a029ecf Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 5 Sep 2025 11:46:56 +0200 Subject: [PATCH 1/3] Explore Spring Data Commons module split. --- pom.xml | 419 +++--------------- spring-data-commons-core/pom.xml | 219 +++++++++ .../data/annotation/AccessType.java | 0 .../data/annotation/CreatedBy.java | 0 .../data/annotation/CreatedDate.java | 0 .../springframework/data/annotation/Id.java | 0 .../data/annotation/Immutable.java | 0 .../data/annotation/LastModifiedBy.java | 0 .../data/annotation/LastModifiedDate.java | 0 .../data/annotation/PersistenceCreator.java | 0 .../data/annotation/Persistent.java | 0 .../data/annotation/QueryAnnotation.java | 3 +- .../data/annotation/ReadOnlyProperty.java | 0 .../data/annotation/Reference.java | 0 .../data/annotation/Transient.java | 0 .../data/annotation/TypeAlias.java | 3 +- .../data/annotation/Version.java | 0 .../data/annotation/package-info.java | 0 .../BeanComponentDefinitionBuilder.java | 0 .../data/config/ConfigurationUtils.java | 0 .../data/config/ParsingUtils.java | 0 .../data/config/TypeFilterParser.java | 0 .../data/config/package-info.java | 0 .../expression/CompositeValueExpression.java | 0 .../DefaultValueEvaluationContext.java | 0 .../DefaultValueExpressionParser.java | 0 .../data/expression/ExpressionExpression.java | 0 .../expression/LiteralValueExpression.java | 0 .../expression/PlaceholderExpression.java | 0 ...eactiveValueEvaluationContextProvider.java | 0 .../expression/ValueEvaluationContext.java | 0 .../ValueEvaluationContextProvider.java | 0 .../data/expression/ValueExpression.java | 0 .../expression/ValueExpressionParser.java | 0 .../expression/ValueParserConfiguration.java | 0 .../data/expression/package-info.java | 0 ...EvaluationContextExtensionInformation.java | 0 .../data/spel/EvaluationContextProvider.java | 0 .../data/spel/ExpressionDependencies.java | 0 ...tensionAwareEvaluationContextProvider.java | 0 .../springframework/data/spel/Functions.java | 0 .../ReactiveEvaluationContextProvider.java | 0 ...tensionAwareEvaluationContextProvider.java | 0 .../data/spel/package-info.java | 0 .../spel/spi/EvaluationContextExtension.java | 0 .../data/spel/spi/ExtensionIdAware.java | 0 .../data/spel/spi/Function.java | 0 .../ReactiveEvaluationContextExtension.java | 0 .../data/spel/spi/package-info.java | 0 .../data/util/AnnotatedTypeScanner.java | 0 .../AnnotationDetectionFieldCallback.java | 0 .../AnnotationDetectionMethodCallback.java | 0 .../springframework/data/util/BeanLookup.java | 0 .../data/util/ClassTypeInformation.java | 0 .../springframework/data/util/ClassUtils.java | 0 .../data/util/CloseableIterator.java | 0 .../data/util/CustomCollectionRegistrar.java | 0 .../data/util/CustomCollections.java | 14 +- .../data/util/DefaultLock.java | 0 .../data/util/DefaultReadWriteLock.java | 0 .../data/util/DelegatingTypeScanner.java | 0 .../DirectFieldAccessFallbackBeanWrapper.java | 0 .../data/util/IteratorSpliterator.java | 0 .../data/util/KotlinBeanInfoFactory.java | 0 .../data/util/KotlinReflectionUtils.java | 2 +- .../org/springframework/data/util/Lazy.java | 0 .../data/util/LazyStreamable.java | 0 .../org/springframework/data/util/Lock.java | 0 .../data/util/MethodInvocationRecorder.java | 0 .../data/util/MultiValueMapCollector.java | 0 .../data/util/NullableUtils.java | 4 +- .../data/util/NullableWrapper.java | 0 .../data/util/NullableWrapperConverters.java | 0 .../NullnessMethodInvocationValidator.java | 6 +- .../springframework/data/util/Optionals.java | 0 .../org/springframework/data/util/Pair.java | 0 .../data/util/ParameterTypes.java | 0 .../data/util/ParsingUtils.java | 0 .../springframework/data/util/Predicates.java | 0 .../springframework/data/util/ProxyUtils.java | 0 .../data/util/ReactiveWrappers.java | 2 +- .../data/util/ReadWriteLock.java | 0 .../data/util/ReflectionUtils.java | 2 +- .../org/springframework/data/util/Sink.java | 0 .../data/util/StreamUtils.java | 4 +- .../springframework/data/util/Streamable.java | 0 .../data/util/TypeCollector.java | 0 .../data/util/TypeContributor.java | 1 - .../data/util/TypeDiscoverer.java | 0 .../data/util/TypeInformation.java | 34 +- .../data/util/TypeScanner.java | 0 .../springframework/data/util/TypeUtils.java | 0 .../springframework/data/util/Version.java | 0 .../data/util/package-info.java | 0 .../main/resources/META-INF/spring.factories | 2 - .../main/resources/META-INF/spring.tooling | 0 .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + .../src/test/java/TypeInDefaultPackage.java | 24 + .../data/annotation/TypeAliasUnitTests.java | 0 .../config/TypeFilterParserUnitTests.java | 0 .../expression/ValueEvaluationUnitTests.java | 0 ...nContextExtensionInformationUnitTests.java | 0 .../spel/ExpressionDependenciesUnitTests.java | 0 ...areEvaluationContextProviderUnitTests.java | 0 ...areEvaluationContextProviderUnitTests.java | 0 .../data/spel/spi/FunctionUnitTests.java | 0 .../data/util/AbstractAuditable.java | 0 .../org/springframework/data/util/Animal.java | 0 .../util/AnnotatedTypeScannerUnitTests.java | 0 ...tationDetectionFieldCallbackUnitTests.java | 0 ...ationDetectionMethodCallbackUnitTests.java | 0 .../data/util/BeanLookupUnitTests.java | 31 +- .../util/ClassTypeInformationUnitTests.java | 66 ++- .../data/util/CloseableIteratorUnitTests.java | 0 .../data/util/CustomCollectionsUnitTests.java | 0 .../data/util/DataCmns511Tests.java | 2 - ...eldAccessFallbackBeanWrapperUnitTests.java | 0 .../util/KotlinReflectionUtilsUnitTests.java | 3 +- .../data/util/LazyUnitTests.java | 0 .../data/util/LockUnitTests.java | 0 .../MethodInvocationRecorderUnitTests.java | 0 .../data/util/NullableUtilsUnitTests.java | 0 .../NullableWrapperConvertersUnitTests.java | 0 .../data/util/PairUnitTests.java | 0 .../data/util/ParameterTypesUnitTests.java | 0 .../data/util/ParsingUtilsUnitTests.java | 0 .../data/util/ProxyUtilsUnitTests.java | 0 .../data/util/ReactiveWrappersUnitTests.java | 0 .../data/util/ReflectionUtilsUnitTests.java | 5 +- .../data/util/StreamUtilsTests.java | 0 .../data/util/StreamableUnitTests.java | 0 .../data/util/TypeDiscovererUnitTests.java | 68 ++- .../data/util/TypeScannerUnitTests.java | 2 +- .../org/springframework/data/util/User.java | 18 + .../data/util/VersionUnitTests.java | 0 .../util/nonnull/NullableAnnotatedType.java | 0 .../packagelevel/NonNullOnPackage.java | 0 .../nonnull/packagelevel/package-info.java | 0 .../nonnull/type/CustomAnnotatedType.java | 0 .../nonnull/type/CustomNonNullAnnotation.java | 0 .../type/Jsr305NonnullAnnotatedType.java | 0 .../util/nonnull/type/NonAnnotatedType.java | 0 .../nonnull/type/NonNullableParameters.java | 0 .../data/util/DummyInterface.kt | 1 - .../data/util/InlineClassWithProperty.kt | 0 .../util/KotlinBeanInfoFactoryUnitTests.kt | 57 +-- .../data/util/TypeCreatingSyntheticClass.kt | 0 .../test/resources/META-INF/spring.factories | 1 + .../src}/test/resources/logback.xml | 0 .../data/config/type-filter-test.xml | 0 spring-data-commons-distribution/pom.xml | 93 ++++ spring-data-commons-domain/pom.xml | 92 ++++ .../springframework/data/aot/AotContext.java | 4 +- .../data/aot/DefaultAotContext.java | 0 ...BeanFactoryInitializationAotProcessor.java | 0 ...agedTypesBeanRegistrationAotProcessor.java | 5 +- ...nagedTypesRegistrationAotContribution.java | 2 +- .../aot/PublicMethodReflectiveProcessor.java | 0 .../aot/RegisteredBeanAotContribution.java | 0 .../data/aot/package-info.java | 0 .../data/domain/AbstractAggregateRoot.java | 0 .../data/domain/AbstractPageRequest.java | 0 .../domain/AfterDomainEventPublication.java | 0 .../data/domain/Auditable.java | 0 .../data/domain/AuditorAware.java | 0 .../springframework/data/domain/Chunk.java | 0 .../data/domain/DomainEvents.java | 0 .../data/domain/DoubleVector.java | 0 .../springframework/data/domain/Example.java | 0 .../data/domain/ExampleMatcher.java | 6 +- .../data/domain/FloatVector.java | 0 .../data/domain/KeysetScrollPosition.java | 0 .../springframework/data/domain/Limit.java | 0 .../data/domain/ManagedTypes.java | 14 +- .../data/domain/NumberVector.java | 0 .../data/domain/OffsetScrollPosition.java | 0 .../org/springframework/data/domain/Page.java | 0 .../springframework/data/domain/PageImpl.java | 0 .../data/domain/PageRequest.java | 0 .../springframework/data/domain/Pageable.java | 0 .../data/domain/Persistable.java | 0 .../springframework/data/domain/Range.java | 4 +- .../data/domain/ReactiveAuditorAware.java | 0 .../springframework/data/domain/Score.java | 0 .../data/domain/ScoringFunction.java | 0 .../data/domain/ScrollPosition.java | 0 .../data/domain/SearchResult.java | 0 .../data/domain/SearchResults.java | 0 .../data/domain/Similarity.java | 0 .../springframework/data/domain/Slice.java | 0 .../data/domain/SliceImpl.java | 0 .../org/springframework/data/domain/Sort.java | 2 +- .../data/domain/TypedExample.java | 0 .../data/domain/TypedExampleMatcher.java | 0 .../springframework/data/domain/Unpaged.java | 0 .../domain/UnspecifiedScoringFunction.java | 0 .../springframework/data/domain/Vector.java | 0 .../data/domain/VectorScoringFunctions.java | 0 .../springframework/data/domain/Window.java | 0 .../data/domain/WindowImpl.java | 0 .../data/domain/jaxb/OrderAdapter.java | 0 .../data/domain/jaxb/PageAdapter.java | 0 .../data/domain/jaxb/PageableAdapter.java | 0 .../data/domain/jaxb/SortAdapter.java | 0 .../data/domain/jaxb/SpringDataJaxb.java | 0 .../data/domain/jaxb/package-info.java | 8 +- .../data/domain/package-info.java | 0 .../org/springframework/data/geo/Box.java | 0 .../org/springframework/data/geo/Circle.java | 0 .../data/geo/CustomMetric.java | 0 .../springframework/data/geo/Distance.java | 0 .../data/geo/GeoJacksonModule.java | 0 .../springframework/data/geo/GeoModule.java | 0 .../org/springframework/data/geo/GeoPage.java | 0 .../springframework/data/geo/GeoResult.java | 0 .../springframework/data/geo/GeoResults.java | 0 .../org/springframework/data/geo/Metric.java | 0 .../org/springframework/data/geo/Metrics.java | 0 .../org/springframework/data/geo/Point.java | 0 .../org/springframework/data/geo/Polygon.java | 0 .../org/springframework/data/geo/Shape.java | 0 .../data/geo/format/DistanceFormatter.java | 0 .../data/geo/format/PointFormatter.java | 0 .../data/geo/format/package-info.java | 0 .../data/geo/package-info.java | 0 .../history/AnnotationRevisionMetadata.java | 0 .../data/history/Revision.java | 0 .../data/history/RevisionMetadata.java | 0 .../data/history/RevisionSort.java | 0 .../data/history/Revisions.java | 0 .../data/history/package-info.java | 0 .../data/support/ExampleMatcherAccessor.java | 14 +- .../data/support/IsNewStrategy.java | 0 .../data/support/PageableExecutionUtils.java | 0 .../support/PersistableIsNewStrategy.java | 0 .../data/support/PlaceholderResolver.java | 0 .../ReactivePageableExecutionUtils.java | 0 .../data/support/WindowIterator.java | 0 .../data/support/package-info.java | 0 .../resources/META-INF/spring/aot.factories | 2 + .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + .../springframework/data/domain/jaxb/atom.xsd | 0 .../data/domain/jaxb/spring-data-jaxb.xsd | 0 .../data/aot/AotContextUnitTests.java | 0 .../aot/AotTestCodeContributionBuilder.java | 0 .../data/aot/DeferredTypeBuilder.java | 0 ...ryInitializationAotProcessorUnitTests.java | 0 ...BeanRegistrationAotProcessorUnitTests.java | 12 +- .../data/aot/MockBeanRegistrationCode.java | 0 .../data/aot/TypeCollectorUnitTests.java | 0 .../data/aot/types/AbstractType.java | 0 .../data/aot/types/Address.java | 0 .../data/aot/types/BaseEntity.java | 0 .../data/aot/types/Customer.java | 0 .../data/aot/types/CyclicGenerics.java | 0 .../data/aot/types/CyclicPropertiesA.java | 0 .../data/aot/types/CyclicPropertiesB.java | 0 .../data/aot/types/CyclicPropertiesSelf.java | 0 .../DomainObjectWithSimpleTypesOnly.java | 0 .../data/aot/types/EmptyType1.java | 0 .../data/aot/types/EmptyType2.java | 0 .../data/aot/types/FieldsAndMethods.java | 0 .../data/aot/types/InterfaceType.java | 0 .../data/aot/types/LocationHolder.java | 0 .../data/aot/types/ProjectionInterface.java | 0 .../aot/types/TypesInMethodSignatures.java | 0 .../data/aot/types/WithDeclaredClass.java | 0 .../AbstractAggregateRootUnitTests.java | 0 .../domain/AbstractPageRequestUnitTests.java | 0 .../data/domain/DirectionUnitTests.java | 0 .../data/domain/DoubleVectorUnitTests.java | 0 .../data/domain/ExampleMatcherUnitTests.java | 0 .../data/domain/ExampleUnitTests.java | 0 .../data/domain/FloatVectorUnitTests.java | 0 .../data/domain/LimitUnitTests.java | 0 .../data/domain/ManagedTypesUnitTests.java | 0 .../data/domain/NumberVectorUnitTests.java | 3 +- .../data/domain/PageImplUnitTests.java | 0 .../data/domain/PageRequestUnitTests.java | 0 .../data/domain/RangeUnitTests.java | 0 .../data/domain/ScrollPositionUnitTests.java | 0 .../data/domain/SearchResultUnitTests.java | 0 .../data/domain/SearchResultsUnitTests.java | 0 .../data/domain/SimilarityUnitTests.java | 3 +- .../data/domain/SortUnitTests.java | 0 .../data/domain/UnitTestUtils.java | 0 .../data/domain/VectorUnitTests.java | 2 +- .../data/domain/WindowIteratorUnitTests.java | 0 .../data/domain/WindowUnitTests.java | 0 .../domain/jaxb/SpringDataJaxbUnitTests.java | 0 .../data/geo/BoxUnitTests.java | 0 .../data/geo/CircleUnitTests.java | 0 .../data/geo/DistanceUnitTests.java | 0 .../geo/GeoJacksonModuleIntegrationTests.java | 0 .../data/geo/GeoModuleIntegrationTests.java | 0 .../data/geo/GeoResultUnitTests.java | 0 .../data/geo/GeoResultsUnitTests.java | 0 .../data/geo/PointUnitTests.java | 0 .../data/geo/PolygonUnitTests.java | 0 .../format/DistanceFormatterUnitTests.java | 0 .../geo/format/PointFormatterUnitTests.java | 0 .../AnnotationRevisionMetadataUnitTests.java | 0 .../data/history/RevisionUnitTests.java | 0 .../data/history/RevisionsUnitTests.java | 0 .../PageableExecutionUtilsUnitTests.java | 0 .../PersistableIsNewStrategyUnitTests.java | 0 ...activePageableExecutionUtilsUnitTests.java | 0 .../data/domain/jaxb/jaxb.index | 0 .../data/domain/jaxb/pageable.xml | 2 +- spring-data-commons-mapping/pom.xml | 159 +++++++ .../auditing/AnnotationAuditingMetadata.java | 0 .../data/auditing/AuditableBeanWrapper.java | 0 .../auditing/AuditableBeanWrapperFactory.java | 0 .../AuditingBeanRegistrationAotProcessor.java | 2 +- .../data/auditing/AuditingHandler.java | 0 .../data/auditing/AuditingHandlerSupport.java | 0 .../data/auditing/Auditor.java | 0 .../auditing/CurrentDateTimeProvider.java | 0 .../data/auditing/DateTimeProvider.java | 0 .../DefaultAuditableBeanWrapperFactory.java | 0 .../auditing/IsNewAwareAuditingHandler.java | 0 .../MappingAuditableBeanWrapperFactory.java | 0 .../auditing/ReactiveAuditingHandler.java | 0 .../ReactiveIsNewAwareAuditingHandler.java | 0 .../AnnotationAuditingConfiguration.java | 0 ...uditingBeanDefinitionRegistrarSupport.java | 0 .../config/AuditingConfiguration.java | 0 .../AuditingHandlerBeanDefinitionParser.java | 4 +- ...reAuditingHandlerBeanDefinitionParser.java | 0 .../data/auditing/config/package-info.java | 0 .../data/auditing/package-info.java | 0 ...notatedPropertyValueConverterAccessor.java | 0 .../ConfigurableTypeInformationMapper.java | 0 .../data/convert/ConverterBuilder.java | 0 .../data/convert/CustomConversions.java | 0 .../data/convert/DefaultConverterBuilder.java | 0 .../data/convert/DefaultTypeMapper.java | 0 .../convert/DtoInstantiatingConverter.java | 0 .../data/convert/EntityConverter.java | 0 .../data/convert/EntityReader.java | 0 .../data/convert/EntityWriter.java | 0 .../data/convert/JMoleculesConverters.java | 0 .../data/convert/Jsr310Converters.java | 0 .../MappingContextTypeInformationMapper.java | 0 .../PropertyValueConversionService.java | 0 .../convert/PropertyValueConversions.java | 0 .../data/convert/PropertyValueConverter.java | 4 +- .../PropertyValueConverterFactories.java | 0 .../PropertyValueConverterFactory.java | 0 .../PropertyValueConverterRegistrar.java | 0 .../data/convert/ReadingConverter.java | 0 .../SimplePropertyValueConversions.java | 3 +- .../SimplePropertyValueConverterRegistry.java | 0 .../convert/SimpleTypeInformationMapper.java | 0 .../data/convert/TypeAliasAccessor.java | 0 .../data/convert/TypeInformationMapper.java | 0 .../data/convert/TypeMapper.java | 0 .../data/convert/ValueConversionContext.java | 4 +- .../data/convert/ValueConverter.java | 0 .../data/convert/ValueConverterRegistry.java | 0 .../data/convert/WritingConverter.java | 0 .../data/convert/package-info.java | 0 .../data/mapping/AccessOptions.java | 2 +- .../springframework/data/mapping/Alias.java | 0 .../data/mapping/Association.java | 0 .../data/mapping/AssociationHandler.java | 0 .../data/mapping/FactoryMethod.java | 0 .../data/mapping/IdentifierAccessor.java | 0 .../data/mapping/InstanceCreatorMetadata.java | 0 .../InstanceCreatorMetadataSupport.java | 0 .../data/mapping/MappingException.java | 0 .../data/mapping/Parameter.java | 0 .../data/mapping/PersistentEntity.java | 0 .../data/mapping/PersistentProperty.java | 11 +- .../mapping/PersistentPropertyAccessor.java | 0 .../data/mapping/PersistentPropertyPath.java | 0 .../PersistentPropertyPathAccessor.java | 0 .../data/mapping/PersistentPropertyPaths.java | 0 .../data/mapping/PreferredConstructor.java | 0 .../data/mapping/PropertyHandler.java | 0 .../data/mapping/PropertyPath.java | 2 +- .../mapping/PropertyReferenceException.java | 0 .../mapping/SimpleAssociationHandler.java | 0 .../data/mapping/SimplePropertyHandler.java | 0 .../TargetAwareIdentifierAccessor.java | 0 .../callback/DefaultEntityCallbacks.java | 2 +- .../DefaultReactiveEntityCallbacks.java | 0 .../data/mapping/callback/EntityCallback.java | 0 .../callback/EntityCallbackDiscoverer.java | 0 .../callback/EntityCallbackInvoker.java | 0 .../mapping/callback/EntityCallbacks.java | 0 .../ReactiveEntityCallbackInvoker.java | 0 .../callback/ReactiveEntityCallbacks.java | 0 .../data/mapping/callback/package-info.java | 0 .../context/AbstractMappingContext.java | 0 .../DefaultPersistentPropertyPath.java | 0 .../InvalidPersistentPropertyPath.java | 0 .../data/mapping/context/MappingContext.java | 0 .../mapping/context/MappingContextEvent.java | 0 .../mapping/context/PersistentEntities.java | 2 +- .../PersistentPropertyPathFactory.java | 0 .../data/mapping/context/package-info.java | 0 .../model/AbstractPersistentProperty.java | 0 .../AnnotationBasedPersistentProperty.java | 4 +- .../mapping/model/BasicPersistentEntity.java | 0 .../data/mapping/model/BeanWrapper.java | 0 .../BeanWrapperPropertyAccessorFactory.java | 0 .../data/mapping/model/BytecodeUtil.java | 0 ...achingValueExpressionEvaluatorFactory.java | 0 ...elCaseAbbreviatingFieldNamingStrategy.java | 0 ...CamelCaseSplittingFieldNamingStrategy.java | 0 .../ClassGeneratingEntityInstantiator.java | 0 ...lassGeneratingPropertyAccessorFactory.java | 2 +- .../model/ConvertingPropertyAccessor.java | 0 .../mapping/model/EntityInstantiator.java | 0 .../mapping/model/EntityInstantiators.java | 0 .../mapping/model/FieldNamingStrategy.java | 0 .../model/IdPropertyIdentifierAccessor.java | 0 .../InstanceCreatorMetadataDiscoverer.java | 0 .../InstantiationAwarePropertyAccessor.java | 0 ...antiationAwarePropertyAccessorFactory.java | 0 ...tlinClassGeneratingEntityInstantiator.java | 0 .../data/mapping/model/KotlinCopyMethod.java | 0 .../data/mapping/model/KotlinDefaultMask.java | 0 .../model/KotlinInstantiationDelegate.java | 0 .../data/mapping/model/KotlinValueUtils.java | 0 .../model/MappingInstantiationException.java | 0 .../model/MutablePersistentEntity.java | 0 .../mapping/model/ParameterValueProvider.java | 0 .../model/PersistableIdentifierAccessor.java | 0 .../model/PersistentEntityIsNewStrategy.java | 0 ...ersistentEntityParameterValueProvider.java | 0 .../PersistentPropertyAccessorFactory.java | 0 .../model/PreferredConstructorDiscoverer.java | 0 .../data/mapping/model/Property.java | 0 .../PropertyNameFieldNamingStrategy.java | 0 .../mapping/model/PropertyValueProvider.java | 0 .../model/ReflectionEntityInstantiator.java | 0 .../SimplePersistentPropertyPathAccessor.java | 0 .../data/mapping/model/SimpleTypeHolder.java | 0 .../model/SnakeCaseFieldNamingStrategy.java | 0 .../data/mapping/model/SpELContext.java | 0 .../model/ValueExpressionEvaluator.java | 0 ...ValueExpressionParameterValueProvider.java | 0 .../data/mapping/model/package-info.java | 0 .../data/mapping/package-info.java | 0 .../data/projection/Accessor.java | 0 ...efaultMethodInvokingMethodInterceptor.java | 0 .../DefaultProjectionInformation.java | 0 .../data/projection/EntityProjection.java | 0 .../EntityProjectionIntrospector.java | 0 .../MapAccessingMethodInterceptor.java | 0 .../projection/MethodInterceptorFactory.java | 0 .../ProjectingMethodInterceptor.java | 0 .../data/projection/ProjectionFactory.java | 0 .../projection/ProjectionInformation.java | 0 .../PropertyAccessingMethodInterceptor.java | 0 .../projection/ProxyProjectionFactory.java | 1 - .../SpelAwareProxyProjectionFactory.java | 0 .../SpelEvaluatingMethodInterceptor.java | 2 +- .../data/projection/TargetAware.java | 0 .../data/projection/package-info.java | 0 .../data/mapping/KPropertyPath.kt | 0 .../data/mapping/KPropertyPathExtensions.kt | 0 .../resources/META-INF/spring/aot.factories | 2 + .../src/test/java/TypeInDefaultPackage.java | 24 + .../example/NoNullableMarkedInterface.java | 0 .../data/auditing/AnnotatedUser.java | 0 .../AnnotationAuditingMetadataUnitTests.java | 2 +- .../data/auditing/AuditedUser.java | 0 ...BeanRegistrationAotProcessorUnitTests.java | 4 +- .../auditing/AuditingHandlerUnitTests.java | 0 .../data/auditing/AuditorUnitTests.java | 0 ...tAuditableBeanWrapperFactoryUnitTests.java | 0 .../data/auditing/EnableAuditing.java | 0 .../IsNewAwareAuditingHandlerUnitTests.java | 0 .../data/auditing/Jsr310AuditedUser.java | 0 ...gAuditableBeanWrapperFactoryUnitTests.java | 0 .../ReactiveAuditingHandlerUnitTests.java | 0 ...eflectionAuditingBeanWrapperUnitTests.java | 0 ...anDefinitionRegistrarSupportUnitTests.java | 0 ...gurableTypeInformationMapperUnitTests.java | 0 .../convert/ConverterBuilderUnitTests.java | 0 .../convert/CustomConversionsUnitTests.java | 0 .../convert/DefaultTypeMapperUnitTests.java | 0 .../DtoInstantiatingConverterUnitTests.java | 0 .../convert/Jsr310ConvertersUnitTests.java | 0 ...ContextTypeInformationMapperUnitTests.java | 0 ...ropertyValueConverterFactoryUnitTests.java | 0 ...pertyValueConverterRegistrarUnitTests.java | 0 ...mplePropertyValueConversionsUnitTests.java | 0 ...opertyValueConverterRegistryUnitTests.java | 0 .../SimpleTypeInformationMapperUnitTests.java | 3 +- .../springframework/data/mapping/Child.java | 0 .../data/mapping/Document.java | 0 ...rePersistentPropertyAccessorUnitTests.java | 0 .../data/mapping/KotlinModelTypes.kt | 0 .../data/mapping/MappingMetadataTests.java | 0 .../data/mapping/ParameterUnitTests.java | 0 .../data/mapping/PersistentEntitySpec.java | 0 .../PersistentPropertyAccessorUnitTests.java | 0 .../springframework/data/mapping/Person.java | 0 .../data/mapping/PersonDocument.java | 0 .../data/mapping/PersonNoId.java | 0 .../data/mapping/PersonPersistent.java | 0 .../data/mapping/PersonWithChildren.java | 0 .../data/mapping/PersonWithId.java | 0 ...eferredConstructorDiscovererUnitTests.java | 0 .../data/mapping/PropertyPathUnitTests.java | 0 .../PropertyReferenceExceptionUnitTests.java | 0 .../mapping/SimpleTypeHolderUnitTests.java | 0 ...argetAwareIdentifierAccessorUnitTests.java | 0 .../callback/CapturingEntityCallback.java | 0 .../DefaultEntityCallbacksUnitTests.java | 0 ...faultReactiveEntityCallbacksUnitTests.java | 0 .../EntityCallbackDiscovererUnitTests.java | 0 ...bstractMappingContextIntegrationTests.java | 0 .../AbstractMappingContextUnitTests.java | 0 ...efaultPersistentPropertyPathUnitTests.java | 0 ...EntityProjectionIntrospectorUnitTests.java | 0 .../context/MappingContextEventUnitTests.java | 0 .../context/PersistentEntitiesUnitTests.java | 0 ...ersistentPropertyPathFactoryUnitTests.java | 19 +- .../context/PropertyMatchUnitTests.java | 0 .../mapping/context/SampleMappingContext.java | 0 .../context/SamplePersistentProperty.java | 0 .../AbstractPersistentPropertyUnitTests.java | 0 ...ationBasedPersistentPropertyUnitTests.java | 4 +- .../model/BasicPersistentEntityUnitTests.java | 0 ...ueExpressionEvaluatorFactoryUnitTests.java | 0 ...reviatingFieldNamingStrategyUnitTests.java | 0 ...GeneratingEntityInstantiatorUnitTests.java | 2 +- ...gPropertyAccessorFactoryDatatypeTests.java | 0 ...ropertyAccessorFactoryEntityTypeTests.java | 13 +- ...eneratingPropertyAccessorFactoryTests.java | 0 ...ingPropertyAccessorPackageDefaultType.java | 0 ...sGeneratingPropertyAccessorPublicType.java | 0 .../ConvertingPropertyAccessorUnitTests.java | 0 ...ityCreatorMetadataDiscovererUnitTests.java | 0 .../model/EntityInstantiatorsUnitTests.java | 0 .../mapping/model/FactoryMethodUnitTests.java | 0 ...IdPropertyIdentifierAccessorUnitTests.java | 0 ...nceCreatorMetadataDiscovererUnitTests.java | 0 .../model/KotlinCopyMethodUnitTests.java | 0 .../KotlinPropertyAccessorFactoryTests.java | 0 ...ameterizedKotlinInstantiatorUnitTests.java | 0 ...ersistentEntityIsNewStrategyUnitTests.java | 0 ...EntityParameterValueProviderUnitTests.java | 0 .../PersistentPropertyAccessorTests.java | 3 +- ...opertyAccessorClassGeneratorUnitTests.java | 0 .../data/mapping/model/PropertyUnitTests.java | 0 ...ReflectionEntityInstantiatorUnitTests.java | 0 ...rsistentPropertyPathAccessorUnitTests.java | 0 ...SnakeCaseFieldNamingStrategyUnitTests.java | 0 ...essionParameterValueProviderUnitTests.java | 0 .../model/subpackage/TypeInOtherPackage.java | 0 ...hodInvokingMethodInterceptorUnitTests.java | 0 ...DefaultProjectionInformationUnitTests.java | 0 ...apAccessingMethodInterceptorUnitTests.java | 0 .../ProjectingMethodInterceptorUnitTests.java | 0 .../ProjectionIntegrationTests.java | 3 +- ...tyAccessingMethodInterceptorUnitTests.java | 0 .../ProxyProjectionFactoryUnitTests.java | 0 ...lAwareProxyProjectionFactoryUnitTests.java | 0 ...lEvaluatingMethodInterceptorUnitTests.java | 0 .../data/mapping/KPropertyPathTests.kt | 0 .../data/mapping/context/SimpleDataClass.kt | 0 .../context/TypeCreatingSyntheticClass.kt | 0 .../data/mapping/model/DataClasses.kt | 0 .../data/mapping/model/InlineClasses.kt | 0 ...ssGeneratingEntityInstantiatorUnitTests.kt | 0 .../model/KotlinValueUtilsUnitTests.kt | 0 ...PreferredConstructorDiscovererUnitTests.kt | 0 ...ionEntityInstantiatorDataClassUnitTests.kt | 0 ...nEntityInstantiatorInlineClassUnitTests.kt | 0 .../model/TypeCreatingSyntheticClass.kt | 0 .../data/mapping/model/UnusedCustomCopy.kt | 0 .../data/mapping/model/ValueClassKt.kt | 0 .../data/mapping/model/With32Args.kt | 0 .../data/mapping/model/With33Args.kt | 0 .../data/projection/Entities.kt | 0 .../springframework/data/projection/Person.kt | 0 .../data/projection/WithIsNamedProperty.kt | 0 .../src/test/resources/logback.xml | 29 ++ spring-data-commons-repository/pom.xml | 223 ++++++++++ .../data/repository/CrudRepository.java | 0 .../data/repository/ListCrudRepository.java | 0 .../ListPagingAndSortingRepository.java | 0 .../data/repository/NoRepositoryBean.java | 0 .../PagingAndSortingRepository.java | 0 .../data/repository/Repository.java | 0 .../data/repository/RepositoryDefinition.java | 0 .../aot/generate/AotFragmentTarget.java | 0 .../AotQueryMethodGenerationContext.java | 0 ...toryBeanDefinitionPropertiesDecorator.java | 0 .../generate/AotRepositoryClassBuilder.java | 0 .../AotRepositoryConstructorBuilder.java | 0 .../aot/generate/AotRepositoryCreator.java | 0 .../AotRepositoryFragmentMetadata.java | 0 .../aot/generate/AotRepositoryMetadata.java | 2 +- .../aot/generate/AotRepositoryMethod.java | 0 .../generate/AotRepositoryMethodBuilder.java | 10 +- .../aot/generate/DefaultParameterOrigin.java | 0 .../aot/generate/ExpressionMarker.java | 0 .../data/repository/aot/generate/JSON.java | 0 .../repository/aot/generate/JSONArray.java | 0 .../aot/generate/JSONException.java | 0 .../repository/aot/generate/JSONObject.java | 0 .../repository/aot/generate/JSONStringer.java | 0 .../repository/aot/generate/JSONTokener.java | 0 .../generate/LocalVariableNameFactory.java | 0 .../aot/generate/MethodContributor.java | 0 .../aot/generate/MethodMetadata.java | 0 .../aot/generate/QueryMetadata.java | 0 .../RepositoryConstructorBuilder.java | 0 .../aot/generate/RepositoryContributor.java | 0 .../aot/generate/VariableNameFactory.java | 0 .../repository/aot/generate/package-info.java | 0 .../aot/hint/RepositoryRuntimeHints.java | 0 .../repository/aot/hint/package-info.java | 0 ...notationRepositoryConfigurationSource.java | 0 .../config/AotRepositoryContext.java | 4 +- .../config/AotRepositoryInformation.java | 0 .../data/repository/config/BootstrapMode.java | 0 ...ustomRepositoryImplementationDetector.java | 0 .../config/DefaultAotRepositoryContext.java | 0 ...aultImplementationLookupConfiguration.java | 0 .../config/DefaultRepositoryBaseClass.java | 0 .../DefaultRepositoryConfiguration.java | 0 ...erredRepositoryInitializationListener.java | 0 .../repository/config/FragmentMetadata.java | 0 .../ImplementationDetectionConfiguration.java | 0 .../ImplementationLookupConfiguration.java | 0 .../NamedQueriesBeanDefinitionBuilder.java | 0 .../NamedQueriesBeanDefinitionParser.java | 0 .../config/PersistentEntitiesFactoryBean.java | 0 ...ropertiesBasedNamedQueriesFactoryBean.java | 0 .../RepositoryBeanDefinitionBuilder.java | 0 .../RepositoryBeanDefinitionParser.java | 0 .../RepositoryBeanDefinitionReader.java | 0 ...ositoryBeanDefinitionRegistrarSupport.java | 3 +- .../config/RepositoryBeanNameGenerator.java | 0 .../config/RepositoryComponentProvider.java | 4 +- .../config/RepositoryConfiguration.java | 0 .../RepositoryConfigurationAdapter.java | 0 .../RepositoryConfigurationDelegate.java | 4 +- .../RepositoryConfigurationExtension.java | 2 +- ...positoryConfigurationExtensionSupport.java | 0 .../config/RepositoryConfigurationSource.java | 0 .../RepositoryConfigurationSourceSupport.java | 0 .../config/RepositoryConfigurationUtils.java | 0 .../RepositoryFragmentConfiguration.java | 0 ...positoryFragmentConfigurationProvider.java | 0 .../config/RepositoryNameSpaceHandler.java | 0 ...RepositoryRegistrationAotContribution.java | 7 +- .../RepositoryRegistrationAotProcessor.java | 2 +- ...positoryPopulatorBeanDefinitionParser.java | 0 .../data/repository/config/SelectionSet.java | 0 .../XmlRepositoryConfigurationSource.java | 0 .../data/repository/config/package-info.java | 0 .../data/repository/core/CrudMethods.java | 0 .../repository/core/EntityInformation.java | 0 .../data/repository/core/EntityMetadata.java | 0 .../data/repository/core/NamedQueries.java | 0 .../core/RepositoryCreationException.java | 0 .../core/RepositoryInformation.java | 0 .../core/RepositoryInformationSupport.java | 0 .../repository/core/RepositoryMetadata.java | 0 .../core/RepositoryMethodContext.java | 0 .../core/RepositoryMethodContextHolder.java | 0 .../data/repository/core/package-info.java | 0 .../support/AbstractEntityInformation.java | 0 .../support/AbstractRepositoryMetadata.java | 0 .../support/AnnotationRepositoryMetadata.java | 2 +- .../core/support/DefaultCrudMethods.java | 0 .../support/DefaultRepositoryInformation.java | 0 .../support/DefaultRepositoryMetadata.java | 0 .../DefaultRepositoryMethodContext.java | 0 .../support/DelegatingEntityInformation.java | 0 ...ublishingRepositoryProxyPostProcessor.java | 0 .../FragmentNotImplementedException.java | 0 ...ompleteRepositoryCompositionException.java | 0 .../support/MethodInvocationValidator.java | 0 .../repository/core/support/MethodLookup.java | 0 .../core/support/MethodLookups.java | 2 +- ...anslationRepositoryProxyPostProcessor.java | 0 .../support/PersistentEntityInformation.java | 0 .../support/PropertiesBasedNamedQueries.java | 0 .../core/support/QueryCreationListener.java | 0 .../support/QueryExecutionResultHandler.java | 0 .../QueryExecutorMethodInterceptor.java | 0 .../ReactiveRepositoryFactorySupport.java | 0 .../core/support/RepositoryComposition.java | 0 .../support/RepositoryFactoryBeanSupport.java | 3 +- .../support/RepositoryFactoryCustomizer.java | 0 .../support/RepositoryFactoryInformation.java | 0 .../support/RepositoryFactorySupport.java | 8 +- .../core/support/RepositoryFragment.java | 0 .../RepositoryFragmentsContributor.java | 0 .../RepositoryFragmentsFactoryBean.java | 0 .../RepositoryInvocationMulticaster.java | 0 .../support/RepositoryMetadataAccess.java | 0 .../RepositoryMethodInvocationListener.java | 0 .../core/support/RepositoryMethodInvoker.java | 0 .../support/RepositoryProxyPostProcessor.java | 0 ...gTransactionDetectorMethodInterceptor.java | 0 ...sactionalRepositoryFactoryBeanSupport.java | 2 +- ...sactionalRepositoryProxyPostProcessor.java | 0 .../support/UnsupportedFragmentException.java | 0 .../repository/core/support/package-info.java | 0 .../history/RevisionRepository.java | 0 .../data/repository/history/package-info.java | 0 .../support/RevisionEntityInformation.java | 0 .../history/support/package-info.java | 0 ...bstractRepositoryPopulatorFactoryBean.java | 0 ...ackson2RepositoryPopulatorFactoryBean.java | 0 .../init/Jackson2ResourceReader.java | 0 ...JacksonRepositoryPopulatorFactoryBean.java | 0 .../init/JacksonResourceReader.java | 0 .../init/RepositoriesPopulatedEvent.java | 0 .../repository/init/RepositoryPopulator.java | 0 .../data/repository/init/ResourceReader.java | 0 .../ResourceReaderRepositoryPopulator.java | 0 ...shallerRepositoryPopulatorFactoryBean.java | 0 .../init/UnmarshallingResourceReader.java | 0 .../data/repository/init/package-info.java | 0 .../data/repository/package-info.java | 0 .../query/CachingValueExpressionDelegate.java | 0 .../repository/query/DefaultParameters.java | 0 .../data/repository/query/FluentQuery.java | 0 .../query/ListQueryByExampleExecutor.java | 0 .../data/repository/query/Param.java | 0 .../data/repository/query/Parameter.java | 4 +- .../repository/query/ParameterAccessor.java | 0 .../query/ParameterOutOfBoundsException.java | 0 .../data/repository/query/Parameters.java | 2 +- .../query/ParametersParameterAccessor.java | 0 .../repository/query/ParametersSource.java | 0 .../query/QueryByExampleExecutor.java | 0 .../query/QueryCreationException.java | 0 .../repository/query/QueryLookupStrategy.java | 0 .../data/repository/query/QueryMethod.java | 6 +- ...yMethodValueEvaluationContextAccessor.java | 5 +- .../query/ReactiveQueryByExampleExecutor.java | 0 .../repository/query/RepositoryQuery.java | 0 .../repository/query/ResultProcessor.java | 0 .../data/repository/query/ReturnedType.java | 0 .../query/ValueExpressionDelegate.java | 0 .../query/ValueExpressionQueryRewriter.java | 0 .../data/repository/query/package-info.java | 0 .../query/parser/AbstractQueryCreator.java | 0 .../query/parser/OrderBySource.java | 0 .../data/repository/query/parser/Part.java | 8 +- .../repository/query/parser/PartTree.java | 0 .../repository/query/parser/package-info.java | 0 .../reactive/ReactiveCrudRepository.java | 4 +- .../reactive/ReactiveSortingRepository.java | 0 .../reactive/RxJava3CrudRepository.java | 4 +- .../reactive/RxJava3SortingRepository.java | 0 .../repository/reactive/package-info.java | 0 .../support/AnnotationAttribute.java | 0 .../support/CrudRepositoryInvoker.java | 0 .../DefaultRepositoryInvokerFactory.java | 0 .../support/DomainClassConverter.java | 0 .../repository/support/MethodParameters.java | 0 .../PagingAndSortingRepositoryInvoker.java | 0 ...eryMethodParameterConversionException.java | 0 .../support/ReflectionRepositoryInvoker.java | 0 .../data/repository/support/Repositories.java | 0 .../RepositoryInvocationInformation.java | 0 .../repository/support/RepositoryInvoker.java | 0 .../support/RepositoryInvokerFactory.java | 0 .../data/repository/support/package-info.java | 0 .../util/QueryExecutionConverters.java | 0 .../util/ReactiveWrapperConverters.java | 0 .../data/repository/util/TxUtils.java | 0 .../data/repository/util/package-info.java | 0 .../repository/CrudRepositoryExtensions.kt | 0 .../kotlin/CoroutineCrudRepository.kt | 0 .../kotlin/CoroutineSortingRepository.kt | 0 .../data/repository/kotlin/package-info.java | 0 .../main/resources/META-INF/spring.handlers | 1 + .../main/resources/META-INF/spring.schemas | 0 .../resources/META-INF/spring/aot.factories | 1 + .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + .../config/spring-repository-1.0.xsd | 0 .../config/spring-repository-1.11.xsd | 0 .../config/spring-repository-1.4.xsd | 0 .../config/spring-repository-1.5.xsd | 0 .../config/spring-repository-1.6.xsd | 0 .../config/spring-repository-1.7.xsd | 0 .../config/spring-repository-1.8.xsd | 0 .../config/spring-repository-2.1.xsd | 0 .../src}/test/java/TypeInDefaultPackage.java | 4 +- .../test/java/example/SampleInterface.java | 0 .../test/java/example/UserRepository.java | 0 .../java/example/UserRepositoryExtension.java | 0 .../example/UserRepositoryExtensionImpl.java | 0 .../data/repository/Person.java | 27 ++ ...toryRegistrationAotContributionAssert.java | 3 +- ...istrationAotProcessorIntegrationTests.java | 28 +- ...QueryMethodGenerationContextUnitTests.java | 5 +- ...efinitionPropertiesDecoratorUnitTests.java | 0 .../AotRepositoryConfigurationUnitTests.java | 0 .../AotRepositoryCreatorUnitTests.java | 14 +- .../AotRepositoryMethodBuilderUnitTests.java | 0 .../DummyModuleAotRepositoryContext.java | 0 ...ModuleDefaultRepositoryImplementation.java | 0 .../LocalVariableNameFactoryUnitTests.java | 2 +- .../MethodCapturingRepositoryContributor.java | 0 .../aot/generate/MethodMetadataUnitTests.java | 0 .../RepositoryContributorUnitTests.java | 11 +- .../generate/StubRepositoryInformation.java | 0 .../ConfigWithCustomFactoryBeanBaseClass.java | 6 +- .../ConfigWithCustomImplementation.java | 2 +- .../ConfigWithCustomRepositoryBaseClass.java | 6 +- .../aot/sample/ConfigWithFragments.java | 2 +- .../aot/sample/ConfigWithQueryMethods.java | 2 +- .../ConfigWithQuerydslPredicateExecutor.java | 10 +- .../ConfigWithSimpleCrudRepository.java | 7 +- .../ConfigWithTransactionManagerPresent.java | 8 +- ...sentAndAtComponentAnnotatedRepository.java | 8 +- ...gWithQuerydslPredicateExecutor_Person.java | 25 ++ .../aot/sample/ReactiveConfig.java | 2 +- ...epositoryConfigurationSourceUnitTests.java | 0 .../repository/config/ComposedRepository.java | 0 ...sitoryImplementationDetectorUnitTests.java | 0 ...mentationLookupConfigurationUnitTests.java | 0 ...faultRepositoryConfigurationUnitTests.java | 0 .../config/DummyConfigurationExtension.java | 0 .../repository/config/DummyRegistrar.java | 0 .../config/DummyRegistrarWithContributor.java | 0 .../config/EnableReactiveRepositories.java | 0 .../repository/config/EnableRepositories.java | 0 .../EnableRepositoriesWithContributor.java | 0 .../repository/config/ExcludedRepository.java | 0 .../config/ExcludedRepositoryImpl.java | 0 ...tationDetectionConfigurationUnitTests.java | 0 .../data/repository/config/Mixin.java | 0 .../data/repository/config/MixinImpl.java | 0 .../repository/config/MyOtherRepository.java | 0 .../config/MyOtherRepositoryExtensions.java | 0 .../config/MyOtherRepositoryImpl.java | 0 .../data/repository/config/MyRepository.java | 0 .../PrimaryRepositoryIntegrationTests.java | 0 .../repository/config/ProfileRepository.java | 0 .../ReactiveDummyConfigurationExtension.java | 0 .../config/ReactiveDummyRegistrar.java | 0 .../RepositoryBeanDefinitionReaderTests.java | 12 +- ...itionRegistrarSupportIntegrationTests.java | 0 ...anDefinitionRegistrarSupportUnitTests.java | 5 +- .../RepositoryBeanNameGeneratorUnitTests.java | 1 + .../RepositoryComponentProviderUnitTests.java | 0 ...ositoryConfigurationDelegateUnitTests.java | 2 +- ...onfigurationExtensionSupportUnitTests.java | 0 ...ositoryFragmentConfigurationUnitTests.java | 0 .../RepositoryWithFragmentExclusion.java | 0 ...rBeanDefinitionParserIntegrationTests.java | 0 .../config/SampleConfiguration.java | 0 .../SampleRepositoryFragmentsContributor.java | 0 .../config/SelectionSetUnitTests.java | 0 ...epositoryConfigurationSourceUnitTests.java | 0 .../annotated/MyAnnotatedRepository.java | 2 +- .../annotated/MyAnnotatedRepositoryImpl.java | 0 .../config/annotated/MyFragment.java | 0 .../config/annotated/MyFragmentImpl.java | 0 .../config/basepackage/FragmentImpl.java | 0 .../config/basepackage/repo/Fragment.java | 0 .../basepackage/repo/PersonRepository.java | 2 +- .../excluded/MyOtherRepositoryImpl.java | 0 .../config/spifragment/SpiContribution.java | 0 .../config/spifragment/SpiFragment.java | 0 .../config/spifragment/SpiFragmentImpl.java | 0 .../stereotype/MyStereotypeRepository.java | 2 +- .../MyStereotypeRepositoryImpl.java | 0 .../AbstractEntityInformationUnitTests.java | 0 .../AbstractRepositoryMetadataUnitTests.java | 16 +- ...AnnotationRepositoryMetadataUnitTests.java | 0 .../support/DefaultCrudMethodsUnitTests.java | 0 ...DefaultRepositoryInformationUnitTests.java | 0 .../DefaultRepositoryMetadataUnitTests.java | 4 +- .../core/support/DummyEntityInformation.java | 0 .../DummyReactiveRepositoryFactory.java | 12 - .../core/support/DummyRepositoryFactory.java | 107 +++++ .../support/DummyRepositoryFactoryBean.java | 1 - .../support/DummyRepositoryInformation.java | 0 ...RepositoryProxyPostProcessorUnitTests.java | 0 ...ExampleSpecificationAccessorUnitTests.java | 0 ...RepositoryProxyPostProcessorUnitTests.java | 0 .../PersistentEntityInformationUnitTests.java | 2 - .../QueryExecutionResultHandlerUnitTests.java | 0 ...eryExecutorMethodInterceptorUnitTests.java | 0 .../ReactiveDummyRepositoryFactory.java | 14 - .../ReactiveDummyRepositoryFactoryBean.java | 1 - ...eactiveRepositoryInformationUnitTests.java | 0 ...pperRepositoryFactorySupportUnitTests.java | 0 .../RepositoryCompositionUnitTests.java | 0 ...RepositoryFactoryBeanSupportUnitTests.java | 6 +- .../RepositoryFactorySupportUnitTests.java | 50 +-- .../support/RepositoryFragmentUnitTests.java | 0 ...onTransactionAttributeSourceUnitTests.java | 0 .../RepositoryMethodInvokerUnitTests.java | 0 .../core/support/SampleMappingContext.java | 40 ++ .../support/SamplePersistentProperty.java | 35 ++ ...ionDetectorMethodInterceptorUnitTests.java | 0 ...RepositoryFactoryBeanSupportUnitTests.java | 0 ...RepositoryProxyPostProcessorUnitTests.java | 0 ...ackson2ResourceReaderIntegrationTests.java | 0 ...JacksonResourceReaderIntegrationTests.java | 0 .../data/repository/init/Person.java | 0 ...eReaderRepositoryInitializerUnitTests.java | 0 .../repository/query/ParameterUnitTests.java | 1 - .../ParametersParameterAccessorUnitTests.java | 20 +- .../repository/query/ParametersUnitTests.java | 0 .../query/QueryMethodUnitTests.java | 0 .../query/ResultProcessorUnitTests.java | 0 .../query/ReturnedTypeUnitTests.java | 0 .../SimpleParameterAccessorUnitTests.java | 0 ...ValueExpressionQueryRewriterUnitTests.java | 4 +- .../query/parser/OrderBySourceUnitTests.java | 0 .../query/parser/PartTreeUnitTests.java | 0 .../repository/sample/AddressRepository.java | 0 .../sample/AddressRepositoryClient.java | 0 .../data/repository/sample/Product.java | 0 .../repository/sample/ProductRepository.java | 0 .../sample/SampleAnnotatedRepository.java | 0 .../sample/SampleConfiguration.java | 0 .../data/repository/sample/User.java | 0 .../repository/sample/UserRepository.java | 0 .../support/AnnotationAttributeUnitTests.java | 0 .../CrudRepositoryInvokerUnitTests.java | 0 ...ositoryInvokerFactoryIntegrationTests.java | 0 .../DomainClassConverterIntegrationTests.java | 2 +- .../DomainClassConverterUnitTests.java | 6 +- .../support/MethodParametersUnitTests.java | 0 .../ReflectionRepositoryInvokerUnitTests.java | 0 .../support/RepositoriesIntegrationTests.java | 0 .../support/RepositoriesUnitTests.java | 2 +- .../RepositoryInvocationTestUtils.java | 0 .../QueryExecutionConvertersUnitTests.java | 8 +- .../ReactiveWrapperConvertersUnitTests.java | 0 .../CrudRepositoryExtensionsTests.kt | 0 .../CoroutineRepositoryMetadataUnitTests.kt | 3 +- .../core/support/KotlinUserRepository.kt | 0 ...RepositoryCustomImplementationUnitTests.kt | 0 .../CoroutineCrudRepositoryUnitTests.kt | 0 .../CoroutineRepositoryMetadataUnitTests.kt | 0 .../repository/query/KParameterUnitTests.kt | 0 .../data/repository/query/SomeDataClass.kt | 0 .../util/KotlinBeanInfoFactoryUnitTests.kt | 56 +++ .../data/util/TypeCreatingSyntheticClass.kt | 24 + .../test/resources/META-INF/spring.factories | 2 - .../src/test/resources/logback.xml | 14 + .../data/repository/config/jaxb.index | 0 .../data/repository/config/populators.xml | 0 .../data/repository/init/data.json | 0 .../resources/persistent-entity.properties | 0 spring-data-commons-support/pom.xml | 147 ++++++ .../data/crossstore/ChangeSet.java | 0 .../data/crossstore/ChangeSetBacked.java | 0 ...geSetBackedTransactionSynchronization.java | 0 .../data/crossstore/ChangeSetPersister.java | 0 .../data/crossstore/HashMapChangeSet.java | 0 .../data/crossstore/package-info.java | 0 .../data/querydsl/EntityPathResolver.java | 0 .../ListQuerydslPredicateExecutor.java | 0 .../data/querydsl/QPageRequest.java | 0 .../springframework/data/querydsl/QSort.java | 0 .../querydsl/QuerydslPredicateExecutor.java | 0 .../QuerydslRepositoryInvokerAdapter.java | 0 .../data/querydsl/QuerydslUtils.java | 0 .../ReactiveQuerydslPredicateExecutor.java | 0 .../querydsl/SimpleEntityPathResolver.java | 0 .../data/querydsl/aot}/QTypeContributor.java | 2 +- .../data/querydsl/aot/QuerydslHints.java | 0 .../data/querydsl/aot/package-info.java | 0 .../querydsl/binding/MultiValueBinding.java | 0 .../binding/OptionalValueBinding.java | 0 .../querydsl/binding/PathInformation.java | 0 .../binding/PropertyPathInformation.java | 0 .../binding/QuerydslBinderCustomizer.java | 0 .../QuerydslBinderCustomizerDefaults.java | 0 .../querydsl/binding/QuerydslBindings.java | 0 .../binding/QuerydslBindingsFactory.java | 0 .../binding/QuerydslDefaultBinding.java | 6 +- .../binding/QuerydslPathInformation.java | 0 .../querydsl/binding/QuerydslPredicate.java | 0 .../binding/QuerydslPredicateBuilder.java | 0 .../querydsl/binding/SingleValueBinding.java | 0 .../data/querydsl/binding/package-info.java | 0 .../data/querydsl/package-info.java | 0 .../repository/cdi/CdiRepositoryBean.java | 0 .../cdi/CdiRepositoryConfiguration.java | 0 .../repository/cdi/CdiRepositoryContext.java | 0 .../cdi/CdiRepositoryExtensionSupport.java | 0 .../data/repository/cdi/Eager.java | 0 .../data/repository/cdi/package-info.java | 0 .../ChainedTransactionManager.java | 0 .../transaction/MultiTransactionStatus.java | 0 ...ringTransactionSynchronizationManager.java | 0 .../transaction/SynchronizationManager.java | 0 .../data/transaction/package-info.java | 0 .../resources/META-INF/spring/aot.factories | 1 + .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + .../src/test/java/TypeInDefaultPackage.java | 24 + .../AbstractPageRequestUnitTests.java | 124 ++++++ .../data/querydsl/Address.java | 0 .../data/querydsl/DummyRepositoryFactory.java | 131 ++++++ .../data/querydsl/QPageRequestUnitTests.java | 1 - .../data/querydsl/QSortUnitTests.java | 18 +- ...ydslRepositoryInvokerAdapterUnitTests.java | 0 .../data/querydsl/QuerydslUtilsUnitTests.java | 0 .../RepositoryFactorySupportUnitTests.java | 137 ++++++ .../SimpleEntityPathResolverUnitTests.java | 0 .../springframework/data/querydsl/User.java | 0 .../data/querydsl/UserWrapper.java | 0 .../springframework/data/querydsl/Users.java | 0 .../ConfigWithQuerydslPredicateExecutor.java | 44 ++ .../aot/DummyConfigurationExtension.java | 35 ++ .../data/querydsl/aot/DummyRegistrar.java | 39 ++ .../querydsl/aot/DummyRepositoryFactory.java | 124 ++++++ .../aot/DummyRepositoryFactoryBean.java | 60 +++ .../data/querydsl/aot/EnableRepositories.java | 58 +++ .../data/querydsl/aot/Person.java | 22 + ...gWithQuerydslPredicateExecutor_Person.java | 8 +- .../aot}/QTypeContributorUnitTests.java | 14 +- .../PropertyPathInformationUnitTests.java | 0 .../QuerydslBindingsFactoryUnitTests.java | 1 - .../binding/QuerydslBindingsUnitTests.java | 0 .../QuerydslDefaultBindingUnitTests.java | 0 .../QuerydslPredicateBuilderUnitTests.java | 0 .../data/querydsl/suffix/QUser.java | 0 .../cdi/AnotherFragmentInterface.java | 0 .../cdi/AnotherFragmentInterfaceImpl.java | 0 .../repository/cdi/AnotherRepository.java | 0 .../cdi/AnotherRepositoryCustom.java | 0 .../repository/cdi/AnotherRepositoryImpl.java | 0 .../cdi/CdiConfigurationIntegrationTests.java | 0 .../cdi/CdiRepositoryBeanUnitTests.java | 3 +- ...itoryExtensionSupportIntegrationTests.java | 0 .../repository/cdi/ComposedRepository.java | 0 .../cdi/ComposedRepositoryCustom.java | 0 .../cdi/ComposedRepositoryImpl.java | 0 .../repository/cdi/DummyCdiExtension.java | 3 +- .../cdi}/DummyRepositoryFactory.java | 3 +- .../repository/cdi/FragmentInterface.java | 0 .../repository/cdi/FragmentInterfaceImpl.java | 0 .../data/repository/cdi/RepositoryClient.java | 0 .../repository/cdi/RepositoryFragments.java | 0 .../RepositoryFragmentsIntegrationTests.java | 0 .../data/repository/cdi/SampleRepository.java | 0 .../repository/cdi/StereotypeAnnotation.java | 0 ...itoryExtensionSupportIntegrationTests.java | 0 .../cdi/isolated/FragmentInterface.java | 0 .../cdi/isolated/FragmentInterfaceFoo.java | 0 .../isolated/IsolatedComposedRepository.java | 0 .../cdi/isolated/MyCdiConfiguration.java | 0 .../jakarta.enterprise.inject.spi.Extension | 0 .../src/test/resources/logback.xml | 14 + .../resources/persistent-entity.properties | 1 + spring-data-commons-test/pom.xml | 68 +++ .../BeanRegistrationContributionAssert.java | 2 +- .../test}/aot/CodeContributionAssert.java | 5 +- .../data/test}/aot/JdkProxyAssert.java | 2 +- .../classloadersupport/HidingClassLoader.java | 4 +- .../data/test/util/ClassPathExclusions.java | 0 .../util/ClassPathExclusionsExtension.java | 0 .../util/PackageExcludingClassLoader.java | 0 spring-data-commons-web/pom.xml | 334 ++++++++++++++ ...PageableHandlerMethodArgumentResolver.java | 0 ...eoasSortHandlerMethodArgumentResolver.java | 0 .../springframework/data/web/JsonPath.java | 0 ...sonProjectingMethodInterceptorFactory.java | 0 .../data/web/MapDataBinder.java | 0 .../OffsetScrollPositionArgumentResolver.java | 0 ...PositionHandlerMethodArgumentResolver.java | 0 ...nHandlerMethodArgumentResolverSupport.java | 0 .../data/web/PageableArgumentResolver.java | 0 .../data/web/PageableDefault.java | 0 ...PageableHandlerMethodArgumentResolver.java | 0 ...eHandlerMethodArgumentResolverSupport.java | 0 .../web/PageableMethodParameterUtils.java | 0 .../springframework/data/web/PagedModel.java | 0 .../data/web/PagedResourcesAssembler.java | 0 ...gedResourcesAssemblerArgumentResolver.java | 0 .../data/web/ProjectedPayload.java | 0 ...rojectingJackson2HttpMessageConverter.java | 0 ...ProjectingJacksonHttpMessageConverter.java | 0 ...ProxyingHandlerMethodArgumentResolver.java | 0 ...PositionHandlerMethodArgumentResolver.java | 0 ...PageableHandlerMethodArgumentResolver.java | 0 ...tiveSortHandlerMethodArgumentResolver.java | 0 .../data/web/SlicedResourcesAssembler.java | 0 ...cedResourcesAssemblerArgumentResolver.java | 0 .../data/web/SortArgumentResolver.java | 0 .../springframework/data/web/SortDefault.java | 0 .../SortHandlerMethodArgumentResolver.java | 0 ...tHandlerMethodArgumentResolverSupport.java | 0 .../data/web/SpringDataAnnotationUtils.java | 0 .../data/web/XmlBeamHttpMessageConverter.java | 0 .../data/web/aot/WebRuntimeHints.java | 0 .../config/EnableSpringDataWebSupport.java | 0 ...ateoasAwareSpringDataWebConfiguration.java | 0 ...ndlerMethodArgumentResolverCustomizer.java | 0 ...ndlerMethodArgumentResolverCustomizer.java | 0 .../ProjectingArgumentResolverRegistrar.java | 0 .../web/config/QuerydslWebConfiguration.java | 0 .../ReactiveQuerydslWebConfiguration.java | 0 ...ndlerMethodArgumentResolverCustomizer.java | 0 .../SpringDataJackson3Configuration.java | 0 .../web/config/SpringDataJackson3Modules.java | 0 .../SpringDataJacksonConfiguration.java | 0 .../web/config/SpringDataJacksonModules.java | 0 .../config/SpringDataWebConfiguration.java | 0 .../web/config/SpringDataWebSettings.java | 0 .../data/web/config/package-info.java | 0 .../data/web/package-info.java | 0 .../QuerydslPredicateArgumentResolver.java | 0 ...rydslPredicateArgumentResolverSupport.java | 0 ...tiveQuerydslPredicateArgumentResolver.java | 0 .../data/web/querydsl/package-info.java | 0 .../main/resources/META-INF/spring.factories | 2 + .../resources/META-INF/spring/aot.factories | 1 + .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + .../test/java/example/SampleInterface.java | 23 + .../src/test/java/example/UserRepository.java | 31 +- .../java/example/UserRepositoryExtension.java | 10 +- .../example/UserRepositoryExtensionImpl.java | 29 ++ ...andlerMethodArgumentResolverUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...tingMethodInterceptorFactoryUnitTests.java | 0 .../data/web/MapDataBinderUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...mplJsonJackson2SerializationUnitTests.java | 0 .../PageImplJsonSerializationUnitTests.java | 0 .../data/web/PageableDefaultUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...cesAssemblerArgumentResolverUnitTests.java | 0 .../web/PagedResourcesAssemblerUnitTests.java | 0 ...Jackson2HttpMessageConverterUnitTests.java | 0 ...gJacksonHttpMessageConverterUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 ...rcesAssemblerArgumentResolverUnitTest.java | 0 .../web/SlicedResourcesAssemblerUnitTest.java | 0 .../data/web/SortDefaultUnitTests.java | 0 ...andlerMethodArgumentResolverUnitTests.java | 0 .../data/web/TestQualifier.java | 0 .../springframework/data/web/TestUtils.java | 0 .../data/web/WebTestUtils.java | 0 .../XmlBeamHttpMessageConverterUnitTests.java | 0 .../web/aot/WebRuntimeHintsUnitTests.java | 0 ...eSpringDataWebSupportIntegrationTests.java | 0 .../data/web/config/PageSampleController.java | 4 +- ...bleResourcesAssemblerIntegrationTests.java | 0 .../data/web/config/SampleController.java | 0 .../data/web/config/SampleMixin.java | 0 ...bleResourcesAssemblerIntegrationTests.java | 0 ...gDataWebConfigurationIntegrationTests.java | 2 +- .../data/web/querydsl/Address.java | 34 ++ ...dslPredicateArgumentResolverUnitTests.java | 2 - ...dslPredicateArgumentResolverUnitTests.java | 2 - .../data/web/querydsl/User.java | 58 +++ .../test/resources/META-INF/spring.factories | 1 + .../src/test/resources/logback.xml | 14 + .../data/web/config/manual.xml | 0 .../data/web/config/via-config-class.xml | 0 spring-data-commons/pom.xml | 58 +++ .../src/main/resources/license.txt | 216 +++++++++ .../src/main/resources/notice.txt | 13 + src/main/antora/antora.yml | 4 +- src/main/resources/META-INF/spring.handlers | 2 - .../resources/META-INF/spring/aot.factories | 10 - ...opertyValueConversionServiceUnitTests.java | 138 ------ .../springframework/data/DependencyTests.java | 138 ------ .../ChainedTransactionManagerTests.java | 223 ---------- 1183 files changed, 4720 insertions(+), 1389 deletions(-) create mode 100644 spring-data-commons-core/pom.xml rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/AccessType.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/CreatedBy.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/CreatedDate.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Id.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Immutable.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/LastModifiedBy.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/LastModifiedDate.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/PersistenceCreator.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Persistent.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/QueryAnnotation.java (91%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/ReadOnlyProperty.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Reference.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Transient.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/TypeAlias.java (93%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/Version.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/annotation/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/config/ConfigurationUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/config/ParsingUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/config/TypeFilterParser.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/config/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/CompositeValueExpression.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/DefaultValueEvaluationContext.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/DefaultValueExpressionParser.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ExpressionExpression.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/LiteralValueExpression.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/PlaceholderExpression.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ReactiveValueEvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ValueEvaluationContext.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ValueEvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ValueExpression.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ValueExpressionParser.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/ValueParserConfiguration.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/expression/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/EvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/ExpressionDependencies.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/Functions.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/ReactiveEvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/spi/EvaluationContextExtension.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/spi/ExtensionIdAware.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/spi/Function.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/spi/ReactiveEvaluationContextExtension.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/spel/spi/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/AnnotatedTypeScanner.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/BeanLookup.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ClassTypeInformation.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ClassUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/CloseableIterator.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/CustomCollectionRegistrar.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/CustomCollections.java (97%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/DefaultLock.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/DefaultReadWriteLock.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/DelegatingTypeScanner.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/IteratorSpliterator.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/KotlinBeanInfoFactory.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/KotlinReflectionUtils.java (99%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Lazy.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/LazyStreamable.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Lock.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/MethodInvocationRecorder.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/MultiValueMapCollector.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/NullableUtils.java (99%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/NullableWrapper.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/NullableWrapperConverters.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java (97%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Optionals.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Pair.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ParameterTypes.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ParsingUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Predicates.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ProxyUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ReactiveWrappers.java (98%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ReadWriteLock.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/ReflectionUtils.java (99%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Sink.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/StreamUtils.java (98%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Streamable.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeCollector.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeContributor.java (98%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeDiscoverer.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeInformation.java (88%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeScanner.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/TypeUtils.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/Version.java (100%) rename {src => spring-data-commons-core/src}/main/java/org/springframework/data/util/package-info.java (100%) rename {src => spring-data-commons-core/src}/main/resources/META-INF/spring.factories (52%) rename {src => spring-data-commons-core/src}/main/resources/META-INF/spring.tooling (100%) create mode 100644 spring-data-commons-core/src/main/resources/license.txt create mode 100644 spring-data-commons-core/src/main/resources/notice.txt create mode 100644 spring-data-commons-core/src/test/java/TypeInDefaultPackage.java rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/expression/ValueEvaluationUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProviderUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/AbstractAuditable.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/Animal.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/BeanLookupUnitTests.java (67%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java (94%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/CustomCollectionsUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/DataCmns511Tests.java (97%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java (94%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/LazyUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/LockUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/NullableUtilsUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/NullableWrapperConvertersUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/PairUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ParameterTypesUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ReactiveWrappersUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java (96%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/StreamUtilsTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/StreamableUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java (96%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/TypeScannerUnitTests.java (97%) create mode 100644 spring-data-commons-core/src/test/java/org/springframework/data/util/User.java rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/VersionUnitTests.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/NullableAnnotatedType.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/packagelevel/NonNullOnPackage.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/packagelevel/package-info.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/type/CustomAnnotatedType.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/type/CustomNonNullAnnotation.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/type/Jsr305NonnullAnnotatedType.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/type/NonAnnotatedType.java (100%) rename {src => spring-data-commons-core/src}/test/java/org/springframework/data/util/nonnull/type/NonNullableParameters.java (100%) rename {src => spring-data-commons-core/src}/test/kotlin/org/springframework/data/util/DummyInterface.kt (94%) rename {src => spring-data-commons-core/src}/test/kotlin/org/springframework/data/util/InlineClassWithProperty.kt (100%) rename {src => spring-data-commons-core/src}/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt (76%) rename {src => spring-data-commons-core/src}/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt (100%) create mode 100644 spring-data-commons-core/src/test/resources/META-INF/spring.factories rename {src => spring-data-commons-core/src}/test/resources/logback.xml (100%) rename {src => spring-data-commons-core/src}/test/resources/org/springframework/data/config/type-filter-test.xml (100%) create mode 100644 spring-data-commons-distribution/pom.xml create mode 100644 spring-data-commons-domain/pom.xml rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/AotContext.java (99%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/DefaultAotContext.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessor.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java (97%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java (99%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/PublicMethodReflectiveProcessor.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/RegisteredBeanAotContribution.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/aot/package-info.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/AbstractAggregateRoot.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/AbstractPageRequest.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/AfterDomainEventPublication.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Auditable.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/AuditorAware.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Chunk.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/DomainEvents.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/DoubleVector.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Example.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/ExampleMatcher.java (99%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/FloatVector.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/KeysetScrollPosition.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Limit.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/ManagedTypes.java (95%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/NumberVector.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/OffsetScrollPosition.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Page.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/PageImpl.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/PageRequest.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Pageable.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Persistable.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Range.java (99%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/ReactiveAuditorAware.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Score.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/ScoringFunction.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/ScrollPosition.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/SearchResult.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/SearchResults.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Similarity.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Slice.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/SliceImpl.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Sort.java (99%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/TypedExample.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/TypedExampleMatcher.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Unpaged.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/UnspecifiedScoringFunction.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Vector.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/VectorScoringFunctions.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/Window.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/WindowImpl.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/PageAdapter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/SortAdapter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/jaxb/package-info.java (60%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/domain/package-info.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Box.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Circle.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/CustomMetric.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Distance.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/GeoJacksonModule.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/GeoModule.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/GeoPage.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/GeoResult.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/GeoResults.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Metric.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Metrics.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Point.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Polygon.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/Shape.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/format/DistanceFormatter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/format/PointFormatter.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/format/package-info.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/geo/package-info.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/Revision.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/RevisionMetadata.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/RevisionSort.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/Revisions.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/history/package-info.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/ExampleMatcherAccessor.java (87%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/IsNewStrategy.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/PageableExecutionUtils.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/PersistableIsNewStrategy.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/PlaceholderResolver.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/ReactivePageableExecutionUtils.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/WindowIterator.java (100%) rename {src => spring-data-commons-domain/src}/main/java/org/springframework/data/support/package-info.java (100%) create mode 100644 spring-data-commons-domain/src/main/resources/META-INF/spring/aot.factories create mode 100644 spring-data-commons-domain/src/main/resources/license.txt create mode 100644 spring-data-commons-domain/src/main/resources/notice.txt rename {src => spring-data-commons-domain/src}/main/resources/org/springframework/data/domain/jaxb/atom.xsd (100%) rename {src => spring-data-commons-domain/src}/main/resources/org/springframework/data/domain/jaxb/spring-data-jaxb.xsd (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/AotContextUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/AotTestCodeContributionBuilder.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/DeferredTypeBuilder.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessorUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java (98%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/MockBeanRegistrationCode.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/TypeCollectorUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/AbstractType.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/Address.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/BaseEntity.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/Customer.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/CyclicGenerics.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/CyclicPropertiesA.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/CyclicPropertiesB.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/CyclicPropertiesSelf.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/DomainObjectWithSimpleTypesOnly.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/EmptyType1.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/EmptyType2.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/FieldsAndMethods.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/InterfaceType.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/LocationHolder.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/ProjectionInterface.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/TypesInMethodSignatures.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/aot/types/WithDeclaredClass.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/DirectionUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/DoubleVectorUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/ExampleUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/FloatVectorUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/LimitUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/ManagedTypesUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/NumberVectorUnitTests.java (96%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/PageImplUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/PageRequestUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/RangeUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/ScrollPositionUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/SearchResultUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/SearchResultsUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/SimilarityUnitTests.java (95%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/SortUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/UnitTestUtils.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/VectorUnitTests.java (94%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/WindowIteratorUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/WindowUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/BoxUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/CircleUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/DistanceUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/GeoJacksonModuleIntegrationTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/GeoResultUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/GeoResultsUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/PointUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/PolygonUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/format/DistanceFormatterUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/geo/format/PointFormatterUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/history/RevisionUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/history/RevisionsUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/java/org/springframework/data/support/ReactivePageableExecutionUtilsUnitTests.java (100%) rename {src => spring-data-commons-domain/src}/test/resources/org/springframework/data/domain/jaxb/jaxb.index (100%) rename {src => spring-data-commons-domain/src}/test/resources/org/springframework/data/domain/jaxb/pageable.xml (80%) create mode 100644 spring-data-commons-mapping/pom.xml rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/AuditableBeanWrapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/AuditableBeanWrapperFactory.java (100%) rename {src/main/java/org/springframework/data/aot => spring-data-commons-mapping/src/main/java/org/springframework/data/auditing}/AuditingBeanRegistrationAotProcessor.java (98%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/AuditingHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/Auditor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/CurrentDateTimeProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/DateTimeProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/AuditingConfiguration.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java (97%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/IsNewAwareAuditingHandlerBeanDefinitionParser.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/config/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/auditing/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/AnnotatedPropertyValueConverterAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ConverterBuilder.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/CustomConversions.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/DefaultConverterBuilder.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/DefaultTypeMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/DtoInstantiatingConverter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/EntityConverter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/EntityReader.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/EntityWriter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/JMoleculesConverters.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/Jsr310Converters.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConversionService.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConversions.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConverter.java (97%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConverterFactories.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConverterFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/PropertyValueConverterRegistrar.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ReadingConverter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java (98%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/TypeAliasAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/TypeInformationMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/TypeMapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ValueConversionContext.java (97%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ValueConverter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/ValueConverterRegistry.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/WritingConverter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/convert/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/AccessOptions.java (99%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/Alias.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/Association.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/AssociationHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/FactoryMethod.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/IdentifierAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/InstanceCreatorMetadata.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/MappingException.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/Parameter.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentEntity.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentProperty.java (97%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentPropertyPath.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentPropertyPathAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PersistentPropertyPaths.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PreferredConstructor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PropertyHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PropertyPath.java (99%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/PropertyReferenceException.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/SimpleAssociationHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/SimplePropertyHandler.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java (97%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/EntityCallback.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbackInvoker.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/callback/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/MappingContext.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/MappingContextEvent.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/PersistentEntities.java (98%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/context/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java (98%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/BeanWrapper.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/BeanWrapperPropertyAccessorFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/BytecodeUtil.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java (99%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/EntityInstantiator.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/EntityInstantiators.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/FieldNamingStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscoverer.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessorFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PersistableIdentifierAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PersistentPropertyAccessorFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/Property.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/PropertyValueProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategy.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/SpELContext.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ValueExpressionEvaluator.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProvider.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/model/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/mapping/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/Accessor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/DefaultProjectionInformation.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/EntityProjection.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/EntityProjectionIntrospector.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/MethodInterceptorFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/ProjectionFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/ProjectionInformation.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/ProxyProjectionFactory.java (99%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java (99%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/TargetAware.java (100%) rename {src => spring-data-commons-mapping/src}/main/java/org/springframework/data/projection/package-info.java (100%) rename {src => spring-data-commons-mapping/src}/main/kotlin/org/springframework/data/mapping/KPropertyPath.kt (100%) rename {src => spring-data-commons-mapping/src}/main/kotlin/org/springframework/data/mapping/KPropertyPathExtensions.kt (100%) create mode 100644 spring-data-commons-mapping/src/main/resources/META-INF/spring/aot.factories create mode 100644 spring-data-commons-mapping/src/test/java/TypeInDefaultPackage.java rename {src => spring-data-commons-mapping/src}/test/java/example/NoNullableMarkedInterface.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/AnnotatedUser.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java (96%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/AuditedUser.java (100%) rename {src/test/java/org/springframework/data/aot => spring-data-commons-mapping/src/test/java/org/springframework/data/auditing}/AuditingBeanRegistrationAotProcessorUnitTests.java (96%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/AuditorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/EnableAuditing.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/Jsr310AuditedUser.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/DtoInstantiatingConverterUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/PropertyValueConverterFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/PropertyValueConverterRegistrarUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/SimplePropertyValueConversionsUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/SimplePropertyValueConverterRegistryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java (96%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/Child.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/Document.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/KotlinModelTypes.kt (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/MappingMetadataTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/ParameterUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersistentEntitySpec.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/Person.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersonDocument.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersonNoId.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersonPersistent.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersonWithChildren.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PersonWithId.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/callback/CapturingEntityCallback.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/EntityProjectionIntrospectorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java (94%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/SampleMappingContext.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/context/SamplePersistentProperty.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java (99%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategyUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java (99%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java (82%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPackageDefaultType.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPublicType.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/EntityCreatorMetadataDiscovererUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/FactoryMethodUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscovererUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/KotlinPropertyAccessorFactoryTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java (99%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategyUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProviderUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/mapping/model/subpackage/TypeInOtherPackage.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/DefaultProjectionInformationUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java (99%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/KPropertyPathTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/context/SimpleDataClass.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/context/TypeCreatingSyntheticClass.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/DataClasses.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/InlineClasses.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiatorUnitTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/KotlinValueUtilsUnitTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/PreferredConstructorDiscovererUnitTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorDataClassUnitTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorInlineClassUnitTests.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/TypeCreatingSyntheticClass.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/UnusedCustomCopy.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/ValueClassKt.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/With32Args.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/mapping/model/With33Args.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/projection/Entities.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/projection/Person.kt (100%) rename {src => spring-data-commons-mapping/src}/test/kotlin/org/springframework/data/projection/WithIsNamedProperty.kt (100%) create mode 100644 spring-data-commons-mapping/src/test/resources/logback.xml create mode 100644 spring-data-commons-repository/pom.xml rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/CrudRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/ListCrudRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/ListPagingAndSortingRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/NoRepositoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/PagingAndSortingRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/Repository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/RepositoryDefinition.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotFragmentTarget.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecorator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryClassBuilder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryCreator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryFragmentMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java (94%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethod.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java (88%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/DefaultParameterOrigin.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/ExpressionMarker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSON.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSONArray.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSONException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSONObject.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSONStringer.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/JSONTokener.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactory.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/MethodContributor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/MethodMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/QueryMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/RepositoryConstructorBuilder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/RepositoryContributor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/VariableNameFactory.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/generate/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/hint/RepositoryRuntimeHints.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/aot/hint/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/AotRepositoryContext.java (94%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/AotRepositoryInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/BootstrapMode.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/DefaultAotRepositoryContext.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/DefaultRepositoryBaseClass.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/FragmentMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/ImplementationLookupConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/PersistentEntitiesFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/PropertiesBasedNamedQueriesFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java (95%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java (97%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationAdapter.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java (99%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationSource.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationProvider.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryNameSpaceHandler.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/SelectionSet.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/config/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/CrudMethods.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/EntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/EntityMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/NamedQueries.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryCreationException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryInformationSupport.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryMethodContext.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/RepositoryMethodContextHolder.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMethodContext.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/DelegatingEntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/FragmentNotImplementedException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/IncompleteRepositoryCompositionException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/MethodLookup.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/MethodLookups.java (99%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/QueryCreationListener.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/ReactiveRepositoryFactorySupport.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java (99%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFactoryCustomizer.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFactoryInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java (99%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsContributor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryMetadataAccess.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvocationListener.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/RepositoryProxyPostProcessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java (97%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/UnsupportedFragmentException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/core/support/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/history/RevisionRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/history/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/history/support/RevisionEntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/history/support/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/Jackson2RepositoryPopulatorFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/JacksonRepositoryPopulatorFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/JacksonResourceReader.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/RepositoryPopulator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/ResourceReader.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/init/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/CachingValueExpressionDelegate.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/DefaultParameters.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/FluentQuery.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ListQueryByExampleExecutor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/Param.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/Parameter.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ParameterAccessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ParameterOutOfBoundsException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/Parameters.java (99%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ParametersSource.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/QueryByExampleExecutor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/QueryCreationException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/QueryLookupStrategy.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/QueryMethod.java (97%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ReactiveQueryByExampleExecutor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/RepositoryQuery.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ResultProcessor.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ReturnedType.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ValueExpressionDelegate.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/ValueExpressionQueryRewriter.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/parser/OrderBySource.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/parser/Part.java (97%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/parser/PartTree.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/query/parser/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/reactive/ReactiveSortingRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java (98%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/reactive/RxJava3SortingRepository.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/reactive/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/AnnotationAttribute.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/DomainClassConverter.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/MethodParameters.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/QueryMethodParameterConversionException.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/Repositories.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/RepositoryInvocationInformation.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/RepositoryInvoker.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/RepositoryInvokerFactory.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/support/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/util/TxUtils.java (100%) rename {src => spring-data-commons-repository/src}/main/java/org/springframework/data/repository/util/package-info.java (100%) rename {src => spring-data-commons-repository/src}/main/kotlin/org/springframework/data/repository/CrudRepositoryExtensions.kt (100%) rename {src => spring-data-commons-repository/src}/main/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepository.kt (100%) rename {src => spring-data-commons-repository/src}/main/kotlin/org/springframework/data/repository/kotlin/CoroutineSortingRepository.kt (100%) rename {src => spring-data-commons-repository/src}/main/kotlin/org/springframework/data/repository/kotlin/package-info.java (100%) create mode 100644 spring-data-commons-repository/src/main/resources/META-INF/spring.handlers rename {src => spring-data-commons-repository/src}/main/resources/META-INF/spring.schemas (100%) create mode 100644 spring-data-commons-repository/src/main/resources/META-INF/spring/aot.factories create mode 100644 spring-data-commons-repository/src/main/resources/license.txt create mode 100644 spring-data-commons-repository/src/main/resources/notice.txt rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.0.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.11.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.4.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.5.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.6.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.7.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-1.8.xsd (100%) rename {src => spring-data-commons-repository/src}/main/resources/org/springframework/data/repository/config/spring-repository-2.1.xsd (100%) rename {src => spring-data-commons-repository/src}/test/java/TypeInDefaultPackage.java (99%) rename {src => spring-data-commons-repository/src}/test/java/example/SampleInterface.java (100%) rename {src => spring-data-commons-repository/src}/test/java/example/UserRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/example/UserRepositoryExtension.java (100%) rename {src => spring-data-commons-repository/src}/test/java/example/UserRepositoryExtensionImpl.java (100%) create mode 100644 spring-data-commons-repository/src/test/java/org/springframework/data/repository/Person.java rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java (98%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java (93%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java (97%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecoratorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/AotRepositoryConfigurationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java (95%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilderUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/DummyModuleAotRepositoryContext.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/DummyModuleDefaultRepositoryImplementation.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java (97%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/MethodCapturingRepositoryContributor.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/MethodMetadataUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java (97%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/aot/generate/StubRepositoryInformation.java (100%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java (86%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithCustomImplementation.java (96%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithCustomRepositoryBaseClass.java (91%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithFragments.java (97%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithQueryMethods.java (97%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithQuerydslPredicateExecutor.java (74%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithSimpleCrudRepository.java (84%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithTransactionManagerPresent.java (85%) rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java (84%) create mode 100644 spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java rename {src/test/java/org/springframework/data => spring-data-commons-repository/src/test/java/org/springframework/data/repository}/aot/sample/ReactiveConfig.java (96%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ComposedRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/DummyRegistrar.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/EnableReactiveRepositories.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/EnableRepositories.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ExcludedRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ExcludedRepositoryImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/Mixin.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/MixinImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/MyOtherRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/MyOtherRepositoryExtensions.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/MyOtherRepositoryImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/MyRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ProfileRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ReactiveDummyRegistrar.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java (92%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java (99%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java (99%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java (99%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/RepositoryWithFragmentExclusion.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/SampleConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/SampleRepositoryFragmentsContributor.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java (94%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepositoryImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/annotated/MyFragment.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/annotated/MyFragmentImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/basepackage/FragmentImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/basepackage/repo/Fragment.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java (94%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/excluded/MyOtherRepositoryImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/spifragment/SpiContribution.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/spifragment/SpiFragment.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/spifragment/SpiFragmentImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java (94%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepositoryImpl.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java (96%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java (98%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java (82%) create mode 100644 spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java (96%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java (93%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java (85%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java (95%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java (96%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java (91%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryFragmentUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java (100%) create mode 100644 spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SampleMappingContext.java create mode 100644 spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SamplePersistentProperty.java rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/init/JacksonResourceReaderIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/init/Person.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ParameterUnitTests.java (98%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java (92%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ParametersUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java (96%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/AddressRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/AddressRepositoryClient.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/Product.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/ProductRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/SampleAnnotatedRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/SampleConfiguration.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/User.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/sample/UserRepository.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java (98%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java (98%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java (99%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java (100%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java (97%) rename {src => spring-data-commons-repository/src}/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/CrudRepositoryExtensionsTests.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt (97%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/core/support/KotlinUserRepository.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryCustomImplementationUnitTests.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryUnitTests.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/kotlin/CoroutineRepositoryMetadataUnitTests.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/query/KParameterUnitTests.kt (100%) rename {src => spring-data-commons-repository/src}/test/kotlin/org/springframework/data/repository/query/SomeDataClass.kt (100%) create mode 100644 spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt create mode 100644 spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt rename {src => spring-data-commons-repository/src}/test/resources/META-INF/spring.factories (55%) create mode 100644 spring-data-commons-repository/src/test/resources/logback.xml rename {src => spring-data-commons-repository/src}/test/resources/org/springframework/data/repository/config/jaxb.index (100%) rename {src => spring-data-commons-repository/src}/test/resources/org/springframework/data/repository/config/populators.xml (100%) rename {src => spring-data-commons-repository/src}/test/resources/org/springframework/data/repository/init/data.json (100%) rename {src => spring-data-commons-repository/src}/test/resources/persistent-entity.properties (100%) create mode 100644 spring-data-commons-support/pom.xml rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/ChangeSet.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/ChangeSetBacked.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/ChangeSetBackedTransactionSynchronization.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/ChangeSetPersister.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/HashMapChangeSet.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/crossstore/package-info.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/EntityPathResolver.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/ListQuerydslPredicateExecutor.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/QPageRequest.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/QSort.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/QuerydslPredicateExecutor.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapter.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/QuerydslUtils.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/ReactiveQuerydslPredicateExecutor.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java (100%) rename {src/main/java/org/springframework/data/util => spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot}/QTypeContributor.java (98%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/aot/QuerydslHints.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/aot/package-info.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/MultiValueBinding.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/OptionalValueBinding.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/PathInformation.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizer.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizerDefaults.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java (89%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslPredicate.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/SingleValueBinding.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/binding/package-info.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/querydsl/package-info.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/Eager.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/repository/cdi/package-info.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/transaction/ChainedTransactionManager.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/transaction/MultiTransactionStatus.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/transaction/SynchronizationManager.java (100%) rename {src => spring-data-commons-support/src}/main/java/org/springframework/data/transaction/package-info.java (100%) create mode 100644 spring-data-commons-support/src/main/resources/META-INF/spring/aot.factories create mode 100644 spring-data-commons-support/src/main/resources/license.txt create mode 100644 spring-data-commons-support/src/main/resources/notice.txt create mode 100644 spring-data-commons-support/src/test/java/TypeInDefaultPackage.java create mode 100755 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/AbstractPageRequestUnitTests.java rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/Address.java (100%) create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/DummyRepositoryFactory.java rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java (96%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/QSortUnitTests.java (85%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/QuerydslUtilsUnitTests.java (100%) create mode 100755 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/RepositoryFactorySupportUnitTests.java rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/SimpleEntityPathResolverUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/User.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/UserWrapper.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/Users.java (100%) create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/ConfigWithQuerydslPredicateExecutor.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyConfigurationExtension.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRegistrar.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactory.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactoryBean.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/EnableRepositories.java create mode 100644 spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/Person.java rename {src/test/java/org/springframework/data/aot/sample => spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot}/QConfigWithQuerydslPredicateExecutor_Person.java (72%) rename {src/test/java/org/springframework/data/util => spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot}/QTypeContributorUnitTests.java (91%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java (99%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/querydsl/suffix/QUser.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterface.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterfaceImpl.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/AnotherRepository.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/AnotherRepositoryCustom.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/AnotherRepositoryImpl.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java (98%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/ComposedRepository.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/ComposedRepositoryCustom.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/ComposedRepositoryImpl.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java (95%) rename {src/test/java/org/springframework/data/repository/core/support => spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi}/DummyRepositoryFactory.java (97%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/FragmentInterface.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/FragmentInterfaceImpl.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/RepositoryClient.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/RepositoryFragments.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/SampleRepository.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/StereotypeAnnotation.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/WebbeansCdiRepositoryExtensionSupportIntegrationTests.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterface.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterfaceFoo.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/isolated/IsolatedComposedRepository.java (100%) rename {src => spring-data-commons-support/src}/test/java/org/springframework/data/repository/cdi/isolated/MyCdiConfiguration.java (100%) rename {src => spring-data-commons-support/src}/test/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension (100%) create mode 100644 spring-data-commons-support/src/test/resources/logback.xml create mode 100644 spring-data-commons-support/src/test/resources/persistent-entity.properties create mode 100644 spring-data-commons-test/pom.xml rename {src/test/java/org/springframework/data => spring-data-commons-test/src/main/java/org/springframework/data/test}/aot/BeanRegistrationContributionAssert.java (97%) rename {src/test/java/org/springframework/data => spring-data-commons-test/src/main/java/org/springframework/data/test}/aot/CodeContributionAssert.java (97%) rename {src/test/java/org/springframework/data => spring-data-commons-test/src/main/java/org/springframework/data/test}/aot/JdkProxyAssert.java (97%) rename {src/test/java/org/springframework/data => spring-data-commons-test/src/main/java/org/springframework/data/test}/classloadersupport/HidingClassLoader.java (96%) rename {src/test => spring-data-commons-test/src/main}/java/org/springframework/data/test/util/ClassPathExclusions.java (100%) rename {src/test => spring-data-commons-test/src/main}/java/org/springframework/data/test/util/ClassPathExclusionsExtension.java (100%) rename {src/test => spring-data-commons-test/src/main}/java/org/springframework/data/test/util/PackageExcludingClassLoader.java (100%) create mode 100644 spring-data-commons-web/pom.xml rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/JsonPath.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/MapDataBinder.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/OffsetScrollPositionArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverSupport.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PageableArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PageableDefault.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PageableMethodParameterUtils.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PagedModel.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PagedResourcesAssembler.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ProjectedPayload.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverter.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SlicedResourcesAssembler.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SortArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SortDefault.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/aot/WebRuntimeHints.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/EnableSpringDataWebSupport.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/OffsetScrollPositionHandlerMethodArgumentResolverCustomizer.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/ReactiveQuerydslWebConfiguration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataJackson3Modules.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataJacksonModules.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/SpringDataWebSettings.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/config/package-info.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/package-info.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java (100%) rename {src => spring-data-commons-web/src}/main/java/org/springframework/data/web/querydsl/package-info.java (100%) create mode 100644 spring-data-commons-web/src/main/resources/META-INF/spring.factories create mode 100644 spring-data-commons-web/src/main/resources/META-INF/spring/aot.factories create mode 100644 spring-data-commons-web/src/main/resources/license.txt create mode 100644 spring-data-commons-web/src/main/resources/notice.txt create mode 100644 spring-data-commons-web/src/test/java/example/SampleInterface.java rename src/test/java/org/springframework/data/repository/aot/generate/RepositoryBuilderUnitTests.java => spring-data-commons-web/src/test/java/example/UserRepository.java (56%) rename src/test/java/QTypeInDefaultPackage.java => spring-data-commons-web/src/test/java/example/UserRepositoryExtension.java (78%) create mode 100644 spring-data-commons-web/src/test/java/example/UserRepositoryExtensionImpl.java rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/MapDataBinderUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PageImplJsonJackson2SerializationUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PageImplJsonSerializationUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PageableDefaultUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverterUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolverUnitTest.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/SlicedResourcesAssemblerUnitTest.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/SortDefaultUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/TestQualifier.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/TestUtils.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/WebTestUtils.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/aot/WebRuntimeHintsUnitTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/PageSampleController.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/SampleController.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/SampleMixin.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/SliceableResourcesAssemblerIntegrationTests.java (100%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java (98%) create mode 100644 spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/Address.java rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java (99%) rename {src => spring-data-commons-web/src}/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java (98%) create mode 100644 spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/User.java create mode 100644 spring-data-commons-web/src/test/resources/META-INF/spring.factories create mode 100644 spring-data-commons-web/src/test/resources/logback.xml rename {src => spring-data-commons-web/src}/test/resources/org/springframework/data/web/config/manual.xml (100%) rename {src => spring-data-commons-web/src}/test/resources/org/springframework/data/web/config/via-config-class.xml (100%) create mode 100644 spring-data-commons/pom.xml create mode 100644 spring-data-commons/src/main/resources/license.txt create mode 100644 spring-data-commons/src/main/resources/notice.txt delete mode 100644 src/main/resources/META-INF/spring.handlers delete mode 100644 src/main/resources/META-INF/spring/aot.factories delete mode 100644 src/test/benchmark/org/springframework/data/convert/PropertyValueConversionServiceUnitTests.java delete mode 100644 src/test/java/org/springframework/data/DependencyTests.java delete mode 100755 src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java diff --git a/pom.xml b/pom.xml index 13143c9f6f..24b193ec01 100644 --- a/pom.xml +++ b/pom.xml @@ -1,13 +1,16 @@ - + 4.0.0 org.springframework.data - spring-data-commons + spring-data-commons-parent 4.0.0-SNAPSHOT + pom - Spring Data Core + Spring Data Commons Parent Core Spring concepts underpinning every Spring Data module. https://spring.io/projects/spring-data @@ -29,361 +32,73 @@ - 2.11.7 1.4.26 spring.data.commons 1.8 - - - org.springframework - spring-core - - - org.springframework - spring-beans - - - org.springframework - spring-context - true - - - org.springframework - spring-expression - true - - - org.springframework - spring-tx - true - - - org.springframework - spring-oxm - true - - - com.fasterxml.jackson.core - jackson-databind - true - - - tools.jackson.core - jackson-databind - true - - - org.springframework - spring-web - true - - - org.springframework - spring-webflux - true - - - - org.springframework - spring-core-test - test - - - - jakarta.servlet - jakarta.servlet-api - provided - - - jakarta.xml.bind - jakarta.xml.bind-api - ${jaxb} - provided - - - jakarta.annotation - jakarta.annotation-api - ${jakarta-annotation-api} - true - - - - com.google.code.findbugs - jsr305 - 3.0.2 - true - - - - - - io.projectreactor - reactor-core - true - - - - io.projectreactor - reactor-test - test - - - - - - io.reactivex.rxjava3 - rxjava - ${rxjava3} - true - - - - io.smallrye.reactive - mutiny - ${smallrye-mutiny} - true - - - - - - com.querydsl - querydsl-core - ${querydsl} - true - - - - com.querydsl - querydsl-collections - ${querydsl} - true - - - - com.google.guava - guava - ${guava} - true - - - - io.vavr - vavr - ${vavr} - true - - - - - - org.eclipse.collections - eclipse-collections-api - ${eclipse-collections} - true - - - - org.eclipse.collections - eclipse-collections - ${eclipse-collections} - test - - - - - - jakarta.enterprise - jakarta.enterprise.cdi-api - provided - true - - - - org.apache.openwebbeans - openwebbeans-se - test - - - - org.springframework.hateoas - spring-hateoas - ${spring-hateoas} - true - - - - org.springframework - spring-webmvc - true - - - - com.sun.xml.bind - jaxb-impl - 3.0.2 - test - - - - xmlunit - xmlunit - 1.6 - test - - - - - org.codehaus.groovy - groovy-all - 2.4.21 - test - - - - - org.jetbrains.kotlin - kotlin-stdlib - true - - - - org.jetbrains.kotlin - kotlin-reflect - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-core - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-reactive - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-reactor - true - - - - org.jetbrains.kotlin - kotlin-test-junit5 - ${kotlin} - test - - - - io.mockk - mockk-jvm - ${mockk} - test - - - - - org.scala-lang - scala-library - ${scala} - true - - - - jakarta.transaction - jakarta.transaction-api - 2.0.0 - test - - - - com.jayway.jsonpath - json-path - ${jsonpath} - true - - - - org.xmlbeam - xmlprojector - ${xmlbeam} - true - - - - com.tngtech.archunit - archunit - ${archunit} - test - - - - org.jmolecules.integrations - jmolecules-spring - ${jmolecules-integration} - true - - - - org.junit.platform - junit-platform-launcher - test - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - org.antora - antora-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - - java-test-compile - - - - com.querydsl - querydsl-apt - ${querydsl} - general - - - - - - - - - - - - antora-process-resources - - - - src/main/antora/resources/antora-resources - true - - - - - + + spring-data-commons-core + spring-data-commons-test + spring-data-commons-mapping + spring-data-commons-domain + spring-data-commons-repository + spring-data-commons-support + spring-data-commons-web + spring-data-commons + + + + + + + com.google.code.findbugs + jsr305 + 3.0.2 + true + + + + com.sun.xml.bind + jaxb-impl + 3.0.2 + test + + + + xmlunit + xmlunit + 1.6 + test + + + + + org.codehaus.groovy + groovy-all + 2.4.21 + test + + + + + org.scala-lang + scala-library + ${scala} + true + + + + jakarta.transaction + jakarta.transaction-api + 2.0.0 + test + + + + + diff --git a/spring-data-commons-core/pom.xml b/spring-data-commons-core/pom.xml new file mode 100644 index 0000000000..9c0c501573 --- /dev/null +++ b/spring-data-commons-core/pom.xml @@ -0,0 +1,219 @@ + + + + 4.0.0 + + spring-data-commons-core + 4.0.0-SNAPSHOT + + Spring Data Commons Core + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework + spring-core + + + org.springframework + spring-beans + + + org.springframework + spring-context + true + + + org.springframework + spring-expression + true + + + + org.springframework + spring-core-test + test + + + + org.springframework.data + spring-data-commons-test + ${project.version} + test + + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api} + true + + + + com.google.code.findbugs + jsr305 + 3.0.2 + true + + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + + io.reactivex.rxjava3 + rxjava + ${rxjava3} + true + + + + io.smallrye.reactive + mutiny + ${smallrye-mutiny} + true + + + + + + com.google.guava + guava + ${guava} + true + + + + io.vavr + vavr + ${vavr} + true + + + + + + org.eclipse.collections + eclipse-collections-api + ${eclipse-collections} + true + + + + org.eclipse.collections + eclipse-collections + ${eclipse-collections} + test + + + + + org.codehaus.groovy + groovy-all + test + + + + + org.jetbrains.kotlin + kotlin-stdlib + true + + + + org.jetbrains.kotlin + kotlin-reflect + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-core + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactive + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactor + true + + + + org.jetbrains.kotlin + kotlin-test-junit5 + ${kotlin} + test + + + + io.mockk + mockk-jvm + ${mockk} + test + + + + + org.scala-lang + scala-library + ${scala} + true + + + + com.jayway.jsonpath + json-path + ${jsonpath} + true + + + + org.xmlbeam + xmlprojector + ${xmlbeam} + true + + + + com.tngtech.archunit + archunit + ${archunit} + test + + + + org.jmolecules.integrations + jmolecules-spring + ${jmolecules-integration} + true + + + + + diff --git a/src/main/java/org/springframework/data/annotation/AccessType.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/AccessType.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/AccessType.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/AccessType.java diff --git a/src/main/java/org/springframework/data/annotation/CreatedBy.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/CreatedBy.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/CreatedBy.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/CreatedBy.java diff --git a/src/main/java/org/springframework/data/annotation/CreatedDate.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/CreatedDate.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/CreatedDate.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/CreatedDate.java diff --git a/src/main/java/org/springframework/data/annotation/Id.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Id.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Id.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Id.java diff --git a/src/main/java/org/springframework/data/annotation/Immutable.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Immutable.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Immutable.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Immutable.java diff --git a/src/main/java/org/springframework/data/annotation/LastModifiedBy.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/LastModifiedBy.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/LastModifiedBy.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/LastModifiedBy.java diff --git a/src/main/java/org/springframework/data/annotation/LastModifiedDate.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/LastModifiedDate.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/LastModifiedDate.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/LastModifiedDate.java diff --git a/src/main/java/org/springframework/data/annotation/PersistenceCreator.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/PersistenceCreator.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/PersistenceCreator.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/PersistenceCreator.java diff --git a/src/main/java/org/springframework/data/annotation/Persistent.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Persistent.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Persistent.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Persistent.java diff --git a/src/main/java/org/springframework/data/annotation/QueryAnnotation.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/QueryAnnotation.java similarity index 91% rename from src/main/java/org/springframework/data/annotation/QueryAnnotation.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/QueryAnnotation.java index 7fa9603328..1a8af5cae9 100644 --- a/src/main/java/org/springframework/data/annotation/QueryAnnotation.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/QueryAnnotation.java @@ -20,11 +20,10 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.springframework.data.repository.Repository; /** * Meta-Annotation to mark a store specific annotation as a query annotation. This allows generic special handing of - * finder methods on {@link Repository} interfaces. + * finder methods on {@code Repository} interfaces. * * @author Thomas Darimont */ diff --git a/src/main/java/org/springframework/data/annotation/ReadOnlyProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/ReadOnlyProperty.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/ReadOnlyProperty.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/ReadOnlyProperty.java diff --git a/src/main/java/org/springframework/data/annotation/Reference.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Reference.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Reference.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Reference.java diff --git a/src/main/java/org/springframework/data/annotation/Transient.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Transient.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Transient.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Transient.java diff --git a/src/main/java/org/springframework/data/annotation/TypeAlias.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/TypeAlias.java similarity index 93% rename from src/main/java/org/springframework/data/annotation/TypeAlias.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/TypeAlias.java index 0fbe7ef980..ae14abc341 100644 --- a/src/main/java/org/springframework/data/annotation/TypeAlias.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/TypeAlias.java @@ -22,11 +22,10 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.springframework.data.mapping.PersistentEntity; /** * Annotation to allow {@link String} based type aliases to be used when writing type information for - * {@link PersistentEntity}s. + * {@code PersistentEntity}s. * * @author Oliver Gierke * @see org.springframework.data.mapping.Alias diff --git a/src/main/java/org/springframework/data/annotation/Version.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/Version.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/Version.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/Version.java diff --git a/src/main/java/org/springframework/data/annotation/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/annotation/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/annotation/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/annotation/package-info.java diff --git a/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java b/spring-data-commons-core/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java rename to spring-data-commons-core/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java diff --git a/src/main/java/org/springframework/data/config/ConfigurationUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/config/ConfigurationUtils.java similarity index 100% rename from src/main/java/org/springframework/data/config/ConfigurationUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/config/ConfigurationUtils.java diff --git a/src/main/java/org/springframework/data/config/ParsingUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/config/ParsingUtils.java similarity index 100% rename from src/main/java/org/springframework/data/config/ParsingUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/config/ParsingUtils.java diff --git a/src/main/java/org/springframework/data/config/TypeFilterParser.java b/spring-data-commons-core/src/main/java/org/springframework/data/config/TypeFilterParser.java similarity index 100% rename from src/main/java/org/springframework/data/config/TypeFilterParser.java rename to spring-data-commons-core/src/main/java/org/springframework/data/config/TypeFilterParser.java diff --git a/src/main/java/org/springframework/data/config/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/config/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/config/package-info.java diff --git a/src/main/java/org/springframework/data/expression/CompositeValueExpression.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/CompositeValueExpression.java similarity index 100% rename from src/main/java/org/springframework/data/expression/CompositeValueExpression.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/CompositeValueExpression.java diff --git a/src/main/java/org/springframework/data/expression/DefaultValueEvaluationContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/DefaultValueEvaluationContext.java similarity index 100% rename from src/main/java/org/springframework/data/expression/DefaultValueEvaluationContext.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/DefaultValueEvaluationContext.java diff --git a/src/main/java/org/springframework/data/expression/DefaultValueExpressionParser.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/DefaultValueExpressionParser.java similarity index 100% rename from src/main/java/org/springframework/data/expression/DefaultValueExpressionParser.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/DefaultValueExpressionParser.java diff --git a/src/main/java/org/springframework/data/expression/ExpressionExpression.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ExpressionExpression.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ExpressionExpression.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ExpressionExpression.java diff --git a/src/main/java/org/springframework/data/expression/LiteralValueExpression.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/LiteralValueExpression.java similarity index 100% rename from src/main/java/org/springframework/data/expression/LiteralValueExpression.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/LiteralValueExpression.java diff --git a/src/main/java/org/springframework/data/expression/PlaceholderExpression.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/PlaceholderExpression.java similarity index 100% rename from src/main/java/org/springframework/data/expression/PlaceholderExpression.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/PlaceholderExpression.java diff --git a/src/main/java/org/springframework/data/expression/ReactiveValueEvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ReactiveValueEvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ReactiveValueEvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ReactiveValueEvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/expression/ValueEvaluationContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueEvaluationContext.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ValueEvaluationContext.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueEvaluationContext.java diff --git a/src/main/java/org/springframework/data/expression/ValueEvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueEvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ValueEvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueEvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/expression/ValueExpression.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueExpression.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ValueExpression.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueExpression.java diff --git a/src/main/java/org/springframework/data/expression/ValueExpressionParser.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueExpressionParser.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ValueExpressionParser.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueExpressionParser.java diff --git a/src/main/java/org/springframework/data/expression/ValueParserConfiguration.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueParserConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/expression/ValueParserConfiguration.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/ValueParserConfiguration.java diff --git a/src/main/java/org/springframework/data/expression/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/expression/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/expression/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/expression/package-info.java diff --git a/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java similarity index 100% rename from src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java diff --git a/src/main/java/org/springframework/data/spel/EvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/EvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/spel/EvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/EvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/spel/ExpressionDependencies.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/ExpressionDependencies.java similarity index 100% rename from src/main/java/org/springframework/data/spel/ExpressionDependencies.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/ExpressionDependencies.java diff --git a/src/main/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/spel/Functions.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/Functions.java similarity index 100% rename from src/main/java/org/springframework/data/spel/Functions.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/Functions.java diff --git a/src/main/java/org/springframework/data/spel/ReactiveEvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/ReactiveEvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/spel/ReactiveEvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/ReactiveEvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java similarity index 100% rename from src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java diff --git a/src/main/java/org/springframework/data/spel/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/spel/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/package-info.java diff --git a/src/main/java/org/springframework/data/spel/spi/EvaluationContextExtension.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/EvaluationContextExtension.java similarity index 100% rename from src/main/java/org/springframework/data/spel/spi/EvaluationContextExtension.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/EvaluationContextExtension.java diff --git a/src/main/java/org/springframework/data/spel/spi/ExtensionIdAware.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/ExtensionIdAware.java similarity index 100% rename from src/main/java/org/springframework/data/spel/spi/ExtensionIdAware.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/ExtensionIdAware.java diff --git a/src/main/java/org/springframework/data/spel/spi/Function.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/Function.java similarity index 100% rename from src/main/java/org/springframework/data/spel/spi/Function.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/Function.java diff --git a/src/main/java/org/springframework/data/spel/spi/ReactiveEvaluationContextExtension.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/ReactiveEvaluationContextExtension.java similarity index 100% rename from src/main/java/org/springframework/data/spel/spi/ReactiveEvaluationContextExtension.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/ReactiveEvaluationContextExtension.java diff --git a/src/main/java/org/springframework/data/spel/spi/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/spel/spi/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/spel/spi/package-info.java diff --git a/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java similarity index 100% rename from src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java diff --git a/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java similarity index 100% rename from src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java diff --git a/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java similarity index 100% rename from src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java diff --git a/src/main/java/org/springframework/data/util/BeanLookup.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/BeanLookup.java similarity index 100% rename from src/main/java/org/springframework/data/util/BeanLookup.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/BeanLookup.java diff --git a/src/main/java/org/springframework/data/util/ClassTypeInformation.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ClassTypeInformation.java similarity index 100% rename from src/main/java/org/springframework/data/util/ClassTypeInformation.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ClassTypeInformation.java diff --git a/src/main/java/org/springframework/data/util/ClassUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ClassUtils.java similarity index 100% rename from src/main/java/org/springframework/data/util/ClassUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ClassUtils.java diff --git a/src/main/java/org/springframework/data/util/CloseableIterator.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/CloseableIterator.java similarity index 100% rename from src/main/java/org/springframework/data/util/CloseableIterator.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/CloseableIterator.java diff --git a/src/main/java/org/springframework/data/util/CustomCollectionRegistrar.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/CustomCollectionRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/util/CustomCollectionRegistrar.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/CustomCollectionRegistrar.java diff --git a/src/main/java/org/springframework/data/util/CustomCollections.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/CustomCollections.java similarity index 97% rename from src/main/java/org/springframework/data/util/CustomCollections.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/CustomCollections.java index a7b5e75b54..99ac7de42f 100644 --- a/src/main/java/org/springframework/data/util/CustomCollections.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/CustomCollections.java @@ -331,7 +331,7 @@ public void registerConvertersIn(ConverterRegistry registry) { @SuppressWarnings("null") public Function toJavaNativeCollection() { - return source -> source instanceof io.vavr.collection.Traversable + return source -> source instanceof Traversable ? VavrToJavaCollectionConverter.INSTANCE.convert(source, TypeDescriptor.forObject(source), OBJECT_DESCRIPTOR) : source; } @@ -366,8 +366,8 @@ public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) { return null; } - if (source instanceof io.vavr.collection.Seq) { - return ((io.vavr.collection.Seq) source).asJava(); + if (source instanceof Seq) { + return ((Seq) source).asJava(); } if (source instanceof io.vavr.collection.Map) { @@ -392,15 +392,15 @@ private enum JavaToVavrCollectionConverter implements ConditionalGenericConverte static { Set pairs = new HashSet<>(); - pairs.add(new ConvertiblePair(Collection.class, io.vavr.collection.Traversable.class)); - pairs.add(new ConvertiblePair(Map.class, io.vavr.collection.Traversable.class)); + pairs.add(new ConvertiblePair(Collection.class, Traversable.class)); + pairs.add(new ConvertiblePair(Map.class, Traversable.class)); CONVERTIBLE_PAIRS = Collections.unmodifiableSet(pairs); } @Override - public java.util.@NonNull Set getConvertibleTypes() { + public @NonNull Set getConvertibleTypes() { return CONVERTIBLE_PAIRS; } @@ -428,7 +428,7 @@ public boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType) { var targetType = targetDescriptor.getType(); - if (io.vavr.collection.Seq.class.isAssignableFrom(targetType)) { + if (Seq.class.isAssignableFrom(targetType)) { return io.vavr.collection.List.ofAll((Iterable) source); } diff --git a/src/main/java/org/springframework/data/util/DefaultLock.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/DefaultLock.java similarity index 100% rename from src/main/java/org/springframework/data/util/DefaultLock.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/DefaultLock.java diff --git a/src/main/java/org/springframework/data/util/DefaultReadWriteLock.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/DefaultReadWriteLock.java similarity index 100% rename from src/main/java/org/springframework/data/util/DefaultReadWriteLock.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/DefaultReadWriteLock.java diff --git a/src/main/java/org/springframework/data/util/DelegatingTypeScanner.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/DelegatingTypeScanner.java similarity index 100% rename from src/main/java/org/springframework/data/util/DelegatingTypeScanner.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/DelegatingTypeScanner.java diff --git a/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java similarity index 100% rename from src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java diff --git a/src/main/java/org/springframework/data/util/IteratorSpliterator.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/IteratorSpliterator.java similarity index 100% rename from src/main/java/org/springframework/data/util/IteratorSpliterator.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/IteratorSpliterator.java diff --git a/src/main/java/org/springframework/data/util/KotlinBeanInfoFactory.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/KotlinBeanInfoFactory.java similarity index 100% rename from src/main/java/org/springframework/data/util/KotlinBeanInfoFactory.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/KotlinBeanInfoFactory.java diff --git a/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java similarity index 99% rename from src/main/java/org/springframework/data/util/KotlinReflectionUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java index 7e62331866..a095a972c9 100644 --- a/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java @@ -44,7 +44,7 @@ * @author Christoph Strobl * @author Johannes Englmeier * @since 2.3 - * @see org.springframework.core.KotlinDetector#isKotlinReflectPresent() + * @see KotlinDetector#isKotlinReflectPresent() */ public final class KotlinReflectionUtils { diff --git a/src/main/java/org/springframework/data/util/Lazy.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Lazy.java similarity index 100% rename from src/main/java/org/springframework/data/util/Lazy.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Lazy.java diff --git a/src/main/java/org/springframework/data/util/LazyStreamable.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/LazyStreamable.java similarity index 100% rename from src/main/java/org/springframework/data/util/LazyStreamable.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/LazyStreamable.java diff --git a/src/main/java/org/springframework/data/util/Lock.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Lock.java similarity index 100% rename from src/main/java/org/springframework/data/util/Lock.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Lock.java diff --git a/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java similarity index 100% rename from src/main/java/org/springframework/data/util/MethodInvocationRecorder.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java diff --git a/src/main/java/org/springframework/data/util/MultiValueMapCollector.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/MultiValueMapCollector.java similarity index 100% rename from src/main/java/org/springframework/data/util/MultiValueMapCollector.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/MultiValueMapCollector.java diff --git a/src/main/java/org/springframework/data/util/NullableUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullableUtils.java similarity index 99% rename from src/main/java/org/springframework/data/util/NullableUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/NullableUtils.java index 27adf2c271..8aff6fde38 100644 --- a/src/main/java/org/springframework/data/util/NullableUtils.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullableUtils.java @@ -146,8 +146,8 @@ public static boolean isNonNull(Class type, ElementType elementType) { * Determine whether {@link ElementType} in the scope of {@link AnnotatedElement} requires non-{@literal null} values. * This method determines default {@code javax.annotation.Nonnull nullability} rules from the annotated element * - * @param element the scope of declaration, may be a {@link Package}, {@link Class}, or - * {@link java.lang.reflect.Method}. Can be {@literal null}. + * @param element the scope of declaration, may be a {@link Package}, {@link Class}, or {@link Method}. Can be + * {@literal null}. * @param elementType the element type. * @return {@literal false} if {@link ElementType} allows {@literal null} values by default or if the given * {@link AnnotatedElement} is {@literal null}. diff --git a/src/main/java/org/springframework/data/util/NullableWrapper.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullableWrapper.java similarity index 100% rename from src/main/java/org/springframework/data/util/NullableWrapper.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/NullableWrapper.java diff --git a/src/main/java/org/springframework/data/util/NullableWrapperConverters.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullableWrapperConverters.java similarity index 100% rename from src/main/java/org/springframework/data/util/NullableWrapperConverters.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/NullableWrapperConverters.java diff --git a/src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java similarity index 97% rename from src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java index 3a6e65ee53..d24d5f0408 100644 --- a/src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/NullnessMethodInvocationValidator.java @@ -46,7 +46,7 @@ * @author Christoph Strobl * @since 3.5 * @see org.jspecify.annotations.NonNull - * @see org.springframework.core.Nullness + * @see Nullness * @see ReflectionUtils#isNullable(MethodParameter) * @link Nullness */ @@ -254,8 +254,8 @@ public int hashCode() { @Override public String toString() { return "MethodInvocationValidator.Nullability(nullableReturn=" + this.isNullableReturn() + ", nullableParameters=" - + java.util.Arrays.toString(this.getNullableParameters()) + ", methodParameters=" - + java.util.Arrays.deepToString(this.getMethodParameters()) + ")"; + + Arrays.toString(this.getNullableParameters()) + ", methodParameters=" + + Arrays.deepToString(this.getMethodParameters()) + ")"; } } } diff --git a/src/main/java/org/springframework/data/util/Optionals.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Optionals.java similarity index 100% rename from src/main/java/org/springframework/data/util/Optionals.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Optionals.java diff --git a/src/main/java/org/springframework/data/util/Pair.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Pair.java similarity index 100% rename from src/main/java/org/springframework/data/util/Pair.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Pair.java diff --git a/src/main/java/org/springframework/data/util/ParameterTypes.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ParameterTypes.java similarity index 100% rename from src/main/java/org/springframework/data/util/ParameterTypes.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ParameterTypes.java diff --git a/src/main/java/org/springframework/data/util/ParsingUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ParsingUtils.java similarity index 100% rename from src/main/java/org/springframework/data/util/ParsingUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ParsingUtils.java diff --git a/src/main/java/org/springframework/data/util/Predicates.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Predicates.java similarity index 100% rename from src/main/java/org/springframework/data/util/Predicates.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Predicates.java diff --git a/src/main/java/org/springframework/data/util/ProxyUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ProxyUtils.java similarity index 100% rename from src/main/java/org/springframework/data/util/ProxyUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ProxyUtils.java diff --git a/src/main/java/org/springframework/data/util/ReactiveWrappers.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ReactiveWrappers.java similarity index 98% rename from src/main/java/org/springframework/data/util/ReactiveWrappers.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ReactiveWrappers.java index 87a1c75a6d..6bece40018 100644 --- a/src/main/java/org/springframework/data/util/ReactiveWrappers.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/ReactiveWrappers.java @@ -248,7 +248,7 @@ static class RegistryHolder { static { - if (ReactiveWrappers.isAvailable(ReactiveWrappers.ReactiveLibrary.PROJECT_REACTOR)) { + if (ReactiveWrappers.isAvailable(ReactiveLibrary.PROJECT_REACTOR)) { REACTIVE_ADAPTER_REGISTRY = ReactiveAdapterRegistry.getSharedInstance(); } else { REACTIVE_ADAPTER_REGISTRY = null; diff --git a/src/main/java/org/springframework/data/util/ReadWriteLock.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ReadWriteLock.java similarity index 100% rename from src/main/java/org/springframework/data/util/ReadWriteLock.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ReadWriteLock.java diff --git a/src/main/java/org/springframework/data/util/ReflectionUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/ReflectionUtils.java similarity index 99% rename from src/main/java/org/springframework/data/util/ReflectionUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/ReflectionUtils.java index c0c2f908db..87d19da9d2 100644 --- a/src/main/java/org/springframework/data/util/ReflectionUtils.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/ReflectionUtils.java @@ -91,7 +91,7 @@ public static boolean hasParameterAssignableToType(Method method, Class type) * @param method {@link Method} to evaluate. * @param predicate the predicate matching {@link Method} * @return the resulting number of matching parameters. - * @see java.lang.reflect.Method#getParameterTypes() + * @see Method#getParameterTypes() * @since 3.5 */ public static int getParameterCount(Method method, Predicate> predicate) { diff --git a/src/main/java/org/springframework/data/util/Sink.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Sink.java similarity index 100% rename from src/main/java/org/springframework/data/util/Sink.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Sink.java diff --git a/src/main/java/org/springframework/data/util/StreamUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/StreamUtils.java similarity index 98% rename from src/main/java/org/springframework/data/util/StreamUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/StreamUtils.java index 8bd438a95b..04912ce779 100644 --- a/src/main/java/org/springframework/data/util/StreamUtils.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/StreamUtils.java @@ -93,8 +93,8 @@ static Stream createStreamFromIterator(CloseableIterator iterator) { /** * Returns a {@link Collector} to create a {@link MultiValueMap}. * - * @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} + * @param keyFunction {@link Function} to create a key from an element of the {@link Stream} + * @param valueFunction {@link Function} to create a value from an element of the {@link Stream} */ static Collector, MultiValueMap> toMultiMap(Function keyFunction, Function valueFunction) { diff --git a/src/main/java/org/springframework/data/util/Streamable.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Streamable.java similarity index 100% rename from src/main/java/org/springframework/data/util/Streamable.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Streamable.java diff --git a/src/main/java/org/springframework/data/util/TypeCollector.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeCollector.java similarity index 100% rename from src/main/java/org/springframework/data/util/TypeCollector.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeCollector.java diff --git a/src/main/java/org/springframework/data/util/TypeContributor.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeContributor.java similarity index 98% rename from src/main/java/org/springframework/data/util/TypeContributor.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeContributor.java index c7781dd7ac..53c6c470d0 100644 --- a/src/main/java/org/springframework/data/util/TypeContributor.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeContributor.java @@ -22,7 +22,6 @@ import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.hint.BindingReflectionHintsRegistrar; -import org.springframework.aot.hint.MemberCategory; import org.springframework.core.annotation.MergedAnnotation; /** diff --git a/src/main/java/org/springframework/data/util/TypeDiscoverer.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeDiscoverer.java similarity index 100% rename from src/main/java/org/springframework/data/util/TypeDiscoverer.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeDiscoverer.java diff --git a/src/main/java/org/springframework/data/util/TypeInformation.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeInformation.java similarity index 88% rename from src/main/java/org/springframework/data/util/TypeInformation.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeInformation.java index 595d709c41..36fd9db50e 100644 --- a/src/main/java/org/springframework/data/util/TypeInformation.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeInformation.java @@ -158,15 +158,15 @@ default TypeInformation getRequiredProperty(String property) { /** * Returns whether the type can be considered a collection, which means it's a container of elements, e.g. a - * {@link java.util.Collection} and {@link java.lang.reflect.Array} or anything implementing {@link Iterable}. If this - * returns {@literal true} you can expect {@link #getComponentType()} to return a non-{@literal null} value. + * {@link Collection} and {@link java.lang.reflect.Array} or anything implementing {@link Iterable}. If this returns + * {@literal true} you can expect {@link #getComponentType()} to return a non-{@literal null} value. * * @return */ boolean isCollectionLike(); /** - * Returns the component type for {@link java.util.Collection}s or the key type for {@link java.util.Map}s. + * Returns the component type for {@link Collection}s or the key type for {@link Map}s. * * @return */ @@ -174,8 +174,8 @@ default TypeInformation getRequiredProperty(String property) { TypeInformation getComponentType(); /** - * Returns the component type for {@link java.util.Collection}s, the key type for {@link java.util.Map}s or the single - * generic type if available. Throws {@link IllegalStateException} if the component value type cannot be resolved. + * Returns the component type for {@link Collection}s, the key type for {@link Map}s or the single generic type if + * available. Throws {@link IllegalStateException} if the component value type cannot be resolved. * * @return * @throws IllegalStateException if the component type cannot be resolved, e.g. if a raw type is used or the type is @@ -194,7 +194,7 @@ default TypeInformation getRequiredComponentType() { } /** - * Returns whether the property is a {@link java.util.Map}. If this returns {@literal true} you can expect + * Returns whether the property is a {@link Map}. If this returns {@literal true} you can expect * {@link #getComponentType()} as well as {@link #getMapValueType()} to return something not {@literal null}. * * @return @@ -202,7 +202,7 @@ default TypeInformation getRequiredComponentType() { boolean isMap(); /** - * Will return the type of the value in case the underlying type is a {@link java.util.Map}. + * Will return the type of the value in case the underlying type is a {@link Map}. * * @return */ @@ -210,12 +210,12 @@ default TypeInformation getRequiredComponentType() { TypeInformation getMapValueType(); /** - * Will return the type of the value in case the underlying type is a {@link java.util.Map} or throw + * Will return the type of the value in case the underlying type is a {@link Map} or throw * {@link IllegalStateException} if the map value type cannot be resolved. * * @return - * @throws IllegalStateException if the map value type cannot be resolved, usually due to the current - * {@link java.util.Map} type being a raw one. + * @throws IllegalStateException if the map value type cannot be resolved, usually due to the current {@link Map} type + * being a raw one. * @since 2.0 */ default TypeInformation getRequiredMapValueType() { @@ -257,22 +257,22 @@ default TypeInformation getUserTypeInformation() { TypeInformation getRawTypeInformation(); /** - * Transparently returns the {@link java.util.Map} value type if the type is a {@link java.util.Map}, returns the - * component type if the type {@link #isCollectionLike()} or the simple type if none of this applies. + * Transparently returns the {@link Map} value type if the type is a {@link Map}, returns the component type if the + * type {@link #isCollectionLike()} or the simple type if none of this applies. * * @return the map value, collection component type or the current type, {@literal null} it the current type is a raw - * {@link java.util.Map} or {@link java.util.Collection}. + * {@link Map} or {@link Collection}. */ @Nullable TypeInformation getActualType(); /** - * Transparently returns the {@link java.util.Map} value type if the type is a {@link java.util.Map}, returns the - * component type if the type {@link #isCollectionLike()} or the simple type if none of this applies. + * Transparently returns the {@link Map} value type if the type is a {@link Map}, returns the component type if the + * type {@link #isCollectionLike()} or the simple type if none of this applies. * * @return - * @throws IllegalArgumentException if the current type is a raw {@link java.util.Map} or {@link java.util.Collection} - * and no value or component type is available. + * @throws IllegalArgumentException if the current type is a raw {@link Map} or {@link Collection} and no value or + * component type is available. * @since 2.0 */ default TypeInformation getRequiredActualType() { diff --git a/src/main/java/org/springframework/data/util/TypeScanner.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeScanner.java similarity index 100% rename from src/main/java/org/springframework/data/util/TypeScanner.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeScanner.java diff --git a/src/main/java/org/springframework/data/util/TypeUtils.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/TypeUtils.java similarity index 100% rename from src/main/java/org/springframework/data/util/TypeUtils.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/TypeUtils.java diff --git a/src/main/java/org/springframework/data/util/Version.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/Version.java similarity index 100% rename from src/main/java/org/springframework/data/util/Version.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/Version.java diff --git a/src/main/java/org/springframework/data/util/package-info.java b/spring-data-commons-core/src/main/java/org/springframework/data/util/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/util/package-info.java rename to spring-data-commons-core/src/main/java/org/springframework/data/util/package-info.java diff --git a/src/main/resources/META-INF/spring.factories b/spring-data-commons-core/src/main/resources/META-INF/spring.factories similarity index 52% rename from src/main/resources/META-INF/spring.factories rename to spring-data-commons-core/src/main/resources/META-INF/spring.factories index 1ad50e1622..d0a9cdc3b2 100644 --- a/src/main/resources/META-INF/spring.factories +++ b/spring-data-commons-core/src/main/resources/META-INF/spring.factories @@ -1,5 +1,3 @@ -org.springframework.data.web.config.SpringDataJacksonModules=org.springframework.data.web.config.SpringDataJacksonConfiguration -org.springframework.data.web.config.SpringDataJackson3Modules=org.springframework.data.web.config.SpringDataJackson3Configuration org.springframework.data.util.CustomCollectionRegistrar=org.springframework.data.util.CustomCollections.VavrCollections, \ org.springframework.data.util.CustomCollections.EclipseCollections org.springframework.beans.BeanInfoFactory=org.springframework.data.util.KotlinBeanInfoFactory diff --git a/src/main/resources/META-INF/spring.tooling b/spring-data-commons-core/src/main/resources/META-INF/spring.tooling similarity index 100% rename from src/main/resources/META-INF/spring.tooling rename to spring-data-commons-core/src/main/resources/META-INF/spring.tooling diff --git a/spring-data-commons-core/src/main/resources/license.txt b/spring-data-commons-core/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons-core/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons-core/src/main/resources/notice.txt b/spring-data-commons-core/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons-core/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/spring-data-commons-core/src/test/java/TypeInDefaultPackage.java b/spring-data-commons-core/src/test/java/TypeInDefaultPackage.java new file mode 100644 index 0000000000..e1efe5ae27 --- /dev/null +++ b/spring-data-commons-core/src/test/java/TypeInDefaultPackage.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Dummy type to be able to reference the default package. + * + * @author Oliver Gierke + */ +public class TypeInDefaultPackage { + +} diff --git a/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java diff --git a/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java diff --git a/src/test/java/org/springframework/data/expression/ValueEvaluationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/expression/ValueEvaluationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/expression/ValueEvaluationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/expression/ValueEvaluationUnitTests.java diff --git a/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java diff --git a/src/test/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProviderUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProviderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProviderUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/spel/ExtensionAwareEvaluationContextProviderUnitTests.java diff --git a/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java diff --git a/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java diff --git a/src/test/java/org/springframework/data/util/AbstractAuditable.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/AbstractAuditable.java similarity index 100% rename from src/test/java/org/springframework/data/util/AbstractAuditable.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/AbstractAuditable.java diff --git a/src/test/java/org/springframework/data/util/Animal.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/Animal.java similarity index 100% rename from src/test/java/org/springframework/data/util/Animal.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/Animal.java diff --git a/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java diff --git a/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java diff --git a/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java diff --git a/src/test/java/org/springframework/data/util/BeanLookupUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/BeanLookupUnitTests.java similarity index 67% rename from src/test/java/org/springframework/data/util/BeanLookupUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/BeanLookupUnitTests.java index 441b13da6c..2123fc85de 100644 --- a/src/test/java/org/springframework/data/util/BeanLookupUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/BeanLookupUnitTests.java @@ -28,8 +28,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; -import org.springframework.data.querydsl.EntityPathResolver; -import org.springframework.data.querydsl.SimpleEntityPathResolver; /** * Unit tests for {@link BeanLookup}. @@ -41,40 +39,49 @@ public class BeanLookupUnitTests { @Mock ListableBeanFactory beanFactory; - Map beans; + Map beans; @BeforeEach public void setUp() { this.beans = new HashMap<>(); - doReturn(beans).when(beanFactory).getBeansOfType(EntityPathResolver.class, false, false); + doReturn(beans).when(beanFactory).getBeansOfType(AnInterface.class, false, false); } @Test // DATACMNS-1235 public void returnsUniqueBeanByType() { - beans.put("foo", SimpleEntityPathResolver.INSTANCE); + beans.put("foo", ClassImplementingAnInterface.INSTANCE); - assertThat(BeanLookup.lazyIfAvailable(EntityPathResolver.class, beanFactory).get()) // - .isEqualTo(SimpleEntityPathResolver.INSTANCE); + assertThat(BeanLookup.lazyIfAvailable(AnInterface.class, beanFactory).get()) // + .isEqualTo(ClassImplementingAnInterface.INSTANCE); } @Test // DATACMNS-1235 public void returnsEmptyLazyIfNoBeanAvailable() { - assertThat(BeanLookup.lazyIfAvailable(EntityPathResolver.class, beanFactory).getOptional()).isEmpty(); + assertThat(BeanLookup.lazyIfAvailable(AnInterface.class, beanFactory).getOptional()).isEmpty(); } @Test // DATACMNS-1235 public void throwsExceptionIfMultipleBeansAreAvailable() { - beans.put("foo", SimpleEntityPathResolver.INSTANCE); - beans.put("bar", SimpleEntityPathResolver.INSTANCE); + beans.put("foo", ClassImplementingAnInterface.INSTANCE); + beans.put("bar", ClassImplementingAnInterface.INSTANCE); assertThatExceptionOfType(NoUniqueBeanDefinitionException.class) // - .isThrownBy(() -> BeanLookup.lazyIfAvailable(EntityPathResolver.class, beanFactory).get()) // + .isThrownBy(() -> BeanLookup.lazyIfAvailable(AnInterface.class, beanFactory).get()) // .withMessageContaining("foo") // .withMessageContaining("bar") // - .withMessageContaining(EntityPathResolver.class.getName()); + .withMessageContaining(AnInterface.class.getName()); + } + + interface AnInterface { + + } + + static class ClassImplementingAnInterface implements AnInterface { + + public static ClassImplementingAnInterface INSTANCE = new ClassImplementingAnInterface(); } } diff --git a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java similarity index 94% rename from src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java index 74d193e2ac..dcea19c7e2 100755 --- a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java @@ -29,13 +29,13 @@ import org.aopalliance.aop.Advice; import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; + import org.springframework.aop.Advisor; import org.springframework.aop.SpringProxy; import org.springframework.aop.TargetSource; import org.springframework.aop.framework.Advised; import org.springframework.aop.framework.AopConfigException; import org.springframework.core.ResolvableType; -import org.springframework.data.mapping.Person; /** * Unit tests for {@link ClassTypeInformation}. @@ -254,9 +254,8 @@ public void discoversImplementationBindingCorrectlyForString() throws Exception assertThat(parameterType.isAssignableFrom(stringInfo)).isTrue(); assertThat(stringInfo.getSuperTypeInformation(GenericInterface.class)).isEqualTo(parameterType); assertThat(parameterType.isAssignableFrom(TypeInformation.of(LongImplementation.class))).isFalse(); - assertThat(parameterType - .isAssignableFrom( - TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isTrue(); + assertThat(parameterType.isAssignableFrom( + TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isTrue(); } @Test @@ -269,9 +268,8 @@ public void discoversImplementationBindingCorrectlyForLong() throws Exception { assertThat(parameterType.isAssignableFrom(TypeInformation.of(StringImplementation.class))).isFalse(); assertThat(parameterType.isAssignableFrom(TypeInformation.of(LongImplementation.class))).isTrue(); - assertThat(parameterType - .isAssignableFrom( - TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isFalse(); + assertThat(parameterType.isAssignableFrom( + TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isFalse(); } @Test @@ -284,9 +282,8 @@ public void discoversImplementationBindingCorrectlyForNumber() throws Exception assertThat(parameterType.isAssignableFrom(TypeInformation.of(StringImplementation.class))).isFalse(); assertThat(parameterType.isAssignableFrom(TypeInformation.of(LongImplementation.class))).isTrue(); - assertThat(parameterType - .isAssignableFrom( - TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isFalse(); + assertThat(parameterType.isAssignableFrom( + TypeInformation.of(StringImplementation.class).getSuperTypeInformation(GenericInterface.class))).isFalse(); } @Test @@ -364,7 +361,7 @@ public void considersGenericsOfTypeBounds() { assertThat(TypeInformation.of(ConcreteRootIntermediate.class) .getProperty("intermediate.content.intermediate.content").getType())// - .isEqualTo(Leaf.class); + .isEqualTo(Leaf.class); } @Test // DATACMNS-783, DATACMNS-853 @@ -450,8 +447,7 @@ public void considersGenericsOfTypeToSpecializeToIfFullyResolved() { var domainEvent = (TypeInformation) storeEvent.getProperty("event"); assertThat(domainEvent.getType()).isEqualTo(DomainEvent.class); - var specialized = domainEvent - .specialize(TypeInformation.of(OfferCreated.class)); + var specialized = domainEvent.specialize(TypeInformation.of(OfferCreated.class)); assertThat(specialized.getType()).isEqualTo(OfferCreated.class); assertThat(specialized.getProperty("aggregateId").getType()).isEqualTo(Long.class); @@ -467,8 +463,7 @@ public void mergesGenericsFromContextAndProvidedDefaultOnSpecialization() { var domainEvent = (TypeInformation) storeEvent.getProperty("event"); assertThat(domainEvent.getType()).isEqualTo(DomainEvent.class); - var specialized = domainEvent - .specialize(TypeInformation.of(GenericEvent.class)); + var specialized = domainEvent.specialize(TypeInformation.of(GenericEvent.class)); assertThat(specialized.getType()).isEqualTo(GenericEvent.class); assertThat(specialized.getProperty("aggregateId").getType()).isEqualTo(Long.class); @@ -505,8 +500,7 @@ void discoversMapKeyAndValueTypeFromTypedMap() { public void proxyTypeInformationShouldNotEqualUserClassTypeInfo() { var typeInfoLeaf = TypeInformation.of(Leaf.class); - var typeInformationLeafProxy = TypeInformation - .of(Leaf$$SpringProxy$873fa2e.class); + var typeInformationLeafProxy = TypeInformation.of(Leaf$$SpringProxy$873fa2e.class); assertThat(typeInfoLeaf).isNotEqualTo(typeInformationLeafProxy); } @@ -543,6 +537,44 @@ static class CollectionContainer { Set rawSet; } + static abstract class Person { + + private Integer ssn; + private String firstName; + private String lastName; + + protected Person(Integer ssn, String firstName, String lastName) { + this.ssn = ssn; + this.firstName = firstName; + this.lastName = lastName; + } + + public Integer getSsn() { + return ssn; + } + + public void setSsn(Integer ssn) { + this.ssn = ssn; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + } + static class GenericTypeWithBound { T person; diff --git a/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java diff --git a/src/test/java/org/springframework/data/util/CustomCollectionsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/CustomCollectionsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/CustomCollectionsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/CustomCollectionsUnitTests.java diff --git a/src/test/java/org/springframework/data/util/DataCmns511Tests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java similarity index 97% rename from src/test/java/org/springframework/data/util/DataCmns511Tests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java index c9639f8185..85f58f0954 100755 --- a/src/test/java/org/springframework/data/util/DataCmns511Tests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java @@ -15,8 +15,6 @@ */ package org.springframework.data.util; -import static org.assertj.core.api.Assertions.*; - import java.util.HashSet; import java.util.Set; diff --git a/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java diff --git a/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java similarity index 94% rename from src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java index 88d00672cb..2c45ad609a 100644 --- a/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java @@ -24,7 +24,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.core.KotlinDetector; -import org.springframework.data.mapping.model.TypeCreatingSyntheticClassKt; import org.springframework.util.ClassUtils; import org.springframework.util.ReflectionUtils; @@ -68,7 +67,7 @@ public void discoversKotlinClass() { @Test // DATACMNS-1171 public void discoversUnsupportedKotlinClass() { - assertThat(KotlinDetector.isKotlinType(org.springframework.data.mapping.model.TypeCreatingSyntheticClassKt.class)) + assertThat(KotlinDetector.isKotlinType(TypeCreatingSyntheticClassKt.class)) .isTrue(); assertThat(KotlinReflectionUtils.isSupportedKotlinClass(TypeCreatingSyntheticClassKt.class)).isFalse(); } diff --git a/src/test/java/org/springframework/data/util/LazyUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/LazyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/LazyUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/LazyUnitTests.java diff --git a/src/test/java/org/springframework/data/util/LockUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/LockUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/LockUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/LockUnitTests.java diff --git a/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java diff --git a/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java diff --git a/src/test/java/org/springframework/data/util/NullableWrapperConvertersUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/NullableWrapperConvertersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/NullableWrapperConvertersUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/NullableWrapperConvertersUnitTests.java diff --git a/src/test/java/org/springframework/data/util/PairUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/PairUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/PairUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/PairUnitTests.java diff --git a/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java diff --git a/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java diff --git a/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java diff --git a/src/test/java/org/springframework/data/util/ReactiveWrappersUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ReactiveWrappersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/ReactiveWrappersUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ReactiveWrappersUnitTests.java diff --git a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java index b5f5073123..e88d70e7fe 100755 --- a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java @@ -26,7 +26,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; -import org.springframework.data.repository.sample.User; import org.springframework.data.util.ReflectionUtils.DescribedFieldFilter; import org.springframework.util.ReflectionUtils.FieldFilter; @@ -138,8 +137,7 @@ void discoversNonNullableReturnType() throws Exception { @Test // DATACMNS-1154 void discoversNullableParameter() throws Exception { - var parameter = new MethodParameter( - DummyInterface.class.getDeclaredMethod("nullableParameter", User.class), 0); + var parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("nullableParameter", User.class), 0); assertThat(ReflectionUtils.isNullable(parameter)).isTrue(); } @@ -187,4 +185,5 @@ public String getDescription() { static class ConstructorDetection { public ConstructorDetection(int i, String string) {} } + } diff --git a/src/test/java/org/springframework/data/util/StreamUtilsTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/StreamUtilsTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/StreamUtilsTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/StreamUtilsTests.java diff --git a/src/test/java/org/springframework/data/util/StreamableUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/StreamableUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/StreamableUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/StreamableUnitTests.java diff --git a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java index 5e9dc09dc7..4762a3b06f 100755 --- a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java @@ -33,8 +33,6 @@ import org.springframework.beans.factory.annotation.Autowire; import org.springframework.core.ResolvableType; -import org.springframework.data.geo.GeoResults; -import org.springframework.data.repository.Repository; import org.springframework.util.ReflectionUtils; /** @@ -105,7 +103,8 @@ void returnsComponentTypeForArrays() { assertThat(discoverer.getComponentType().getType()).isEqualTo(String.class); } - @Test // DATACMNS-57 + @Test + // DATACMNS-57 void discoveresConstructorParameterTypesCorrectly() throws NoSuchMethodException, SecurityException { var discoverer = TypeInformation.of(GenericConstructors.class); @@ -149,7 +148,8 @@ void doesNotConsiderTypeImplementingIterableACollection() { }); } - @Test // DATACMNS-1342, DATACMNS-1430 + @Test + // DATACMNS-1342, DATACMNS-1430 void considersStreamableToBeCollectionLike() { TypeInformation type = TypeInformation.of(SomeStreamable.class); @@ -158,7 +158,8 @@ void considersStreamableToBeCollectionLike() { assertThat(type.getRequiredProperty("streamable").isCollectionLike()).isTrue(); } - @Test // DATACMNS-1419 + @Test + // DATACMNS-1419 void detectsSubTypes() { var type = TypeInformation.of(Set.class); @@ -182,7 +183,8 @@ void isNotEqualIfFieldsDiffer() { } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldNoGenericsInfoShouldBeEqual() { var addresses = ReflectionUtils.findField(Person.class, "addresses"); @@ -194,7 +196,8 @@ void sameFieldNoGenericsInfoShouldBeEqual() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldNoGenericsWhenInherited() { var addresses = ReflectionUtils.findField(Person.class, "addresses"); @@ -206,7 +209,8 @@ void sameFieldNoGenericsWhenInherited() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldNoGenericsOnDifferentTypes() { var addresses1 = ReflectionUtils.findField(Person.class, "addresses"); @@ -219,7 +223,8 @@ void sameFieldNoGenericsOnDifferentTypes() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldWithGenerics() { var field1 = ReflectionUtils.findField(GenericPerson.class, "value"); @@ -232,7 +237,8 @@ void sameFieldWithGenerics() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldWithGenericsSet() { var field1 = ReflectionUtils.findField(GenericPerson.class, "value"); @@ -245,7 +251,8 @@ void sameFieldWithGenericsSet() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldWithDifferentGenericsSet() { var field1 = ReflectionUtils.findField(GenericPerson.class, "value"); @@ -258,7 +265,8 @@ void sameFieldWithDifferentGenericsSet() { assertThat(discoverer1.hashCode()).isNotEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void sameFieldWithDifferentNoGenericsAndObjectOneSet() { var field1 = ReflectionUtils.findField(GenericPerson.class, "value"); @@ -271,7 +279,8 @@ void sameFieldWithDifferentNoGenericsAndObjectOneSet() { assertThat(discoverer1.hashCode()).isEqualTo(discoverer2.hashCode()); } - @Test // GH-2312 + @Test + // GH-2312 void genericFieldOfType() { var field = ReflectionUtils.findField(GenericPerson.class, "value"); @@ -280,13 +289,15 @@ void genericFieldOfType() { assertThat(discoverer.getType()).isEqualTo(Address.class); } - @Test // #2511 + @Test + // #2511 void considerVavrMapToBeAMap() { assertThat(TypeInformation.of(io.vavr.collection.Map.class).isMap()).isTrue(); } - @Test // #2517 + @Test + // #2517 void returnsComponentAndValueTypesForVavrMapExtensions() { var discoverer = TypeInformation.of(CustomVavrMap.class); @@ -295,17 +306,20 @@ void returnsComponentAndValueTypesForVavrMapExtensions() { assertThat(discoverer.getComponentType().getType()).isEqualTo(String.class); } - @Test // #2511 + @Test + // #2511 void considerVavrSetToBeCollectionLike() { assertThat(TypeInformation.of(io.vavr.collection.Set.class).isCollectionLike()).isTrue(); } - @Test // #2511 + @Test + // #2511 void considerVavrSeqToBeCollectionLike() { assertThat(TypeInformation.of(io.vavr.collection.Seq.class).isCollectionLike()).isTrue(); } - @Test // #2511 + @Test + // #2511 void considerVavrListToBeCollectionLike() { assertThat(TypeInformation.of(io.vavr.collection.List.class).isCollectionLike()).isTrue(); } @@ -351,7 +365,8 @@ void differentEqualsAndHashCodeForTypeDiscovererAndClassTypeInformation() { assertThat(discoverer.hashCode()).isNotEqualTo(classTypeInformation.hashCode()); } - @Test // GH-3051 + @Test + // GH-3051 void considersNestedGenericsInEquality() throws ReflectiveOperationException { ResolvableType containerList = ResolvableType.forField(WithContainer.class.getDeclaredField("containerList")); @@ -360,7 +375,8 @@ void considersNestedGenericsInEquality() throws ReflectiveOperationException { assertThat(TypeInformation.of(containerList)).isNotEqualTo(TypeInformation.of(containerMap)); } - @Test // GH-3084 + @Test + // GH-3084 void considersNestedGenericsInEqualityForRecursiveUnresolvableTypes() throws Exception { TypeInformation repro = TypeInformation.of(RepoWithRawGenerics.class); @@ -472,6 +488,14 @@ class GeoResultsWrapper { GeoResults results; } + abstract static class GeoResults implements Iterable> { + + } + + static final class GeoResult { + + } + static class WithContainer { MyContainer> containerList; @@ -492,4 +516,8 @@ interface RepoWithRawGenerics extends Repository { > List> findAllExternalIdsFor(); } + public interface Repository { + + } + } diff --git a/src/test/java/org/springframework/data/util/TypeScannerUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/TypeScannerUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/util/TypeScannerUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/TypeScannerUnitTests.java index ed6757513b..bce2127fa4 100644 --- a/src/test/java/org/springframework/data/util/TypeScannerUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/TypeScannerUnitTests.java @@ -22,7 +22,7 @@ import java.util.Set; import org.junit.jupiter.api.Test; -import org.springframework.data.classloadersupport.HidingClassLoader; +import org.springframework.data.test.classloadersupport.HidingClassLoader; /** * @author Christoph Strobl diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/util/User.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/User.java new file mode 100644 index 0000000000..8f828ed61f --- /dev/null +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/User.java @@ -0,0 +1,18 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.util; + +public class User {} diff --git a/src/test/java/org/springframework/data/util/VersionUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/VersionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/util/VersionUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/VersionUnitTests.java diff --git a/src/test/java/org/springframework/data/util/nonnull/NullableAnnotatedType.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/NullableAnnotatedType.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/NullableAnnotatedType.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/NullableAnnotatedType.java diff --git a/src/test/java/org/springframework/data/util/nonnull/packagelevel/NonNullOnPackage.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/packagelevel/NonNullOnPackage.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/packagelevel/NonNullOnPackage.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/packagelevel/NonNullOnPackage.java diff --git a/src/test/java/org/springframework/data/util/nonnull/packagelevel/package-info.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/packagelevel/package-info.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/packagelevel/package-info.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/packagelevel/package-info.java diff --git a/src/test/java/org/springframework/data/util/nonnull/type/CustomAnnotatedType.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/CustomAnnotatedType.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/type/CustomAnnotatedType.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/CustomAnnotatedType.java diff --git a/src/test/java/org/springframework/data/util/nonnull/type/CustomNonNullAnnotation.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/CustomNonNullAnnotation.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/type/CustomNonNullAnnotation.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/CustomNonNullAnnotation.java diff --git a/src/test/java/org/springframework/data/util/nonnull/type/Jsr305NonnullAnnotatedType.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/Jsr305NonnullAnnotatedType.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/type/Jsr305NonnullAnnotatedType.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/Jsr305NonnullAnnotatedType.java diff --git a/src/test/java/org/springframework/data/util/nonnull/type/NonAnnotatedType.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/NonAnnotatedType.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/type/NonAnnotatedType.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/NonAnnotatedType.java diff --git a/src/test/java/org/springframework/data/util/nonnull/type/NonNullableParameters.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/NonNullableParameters.java similarity index 100% rename from src/test/java/org/springframework/data/util/nonnull/type/NonNullableParameters.java rename to spring-data-commons-core/src/test/java/org/springframework/data/util/nonnull/type/NonNullableParameters.java diff --git a/src/test/kotlin/org/springframework/data/util/DummyInterface.kt b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/DummyInterface.kt similarity index 94% rename from src/test/kotlin/org/springframework/data/util/DummyInterface.kt rename to spring-data-commons-core/src/test/kotlin/org/springframework/data/util/DummyInterface.kt index 17ca5757d6..6827795918 100644 --- a/src/test/kotlin/org/springframework/data/util/DummyInterface.kt +++ b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/DummyInterface.kt @@ -15,7 +15,6 @@ */ package org.springframework.data.util -import org.springframework.data.repository.sample.User /** * @author Mark Paluch diff --git a/src/test/kotlin/org/springframework/data/util/InlineClassWithProperty.kt b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/InlineClassWithProperty.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/util/InlineClassWithProperty.kt rename to spring-data-commons-core/src/test/kotlin/org/springframework/data/util/InlineClassWithProperty.kt diff --git a/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt similarity index 76% rename from src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt rename to spring-data-commons-core/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt index 9d97a4d2de..64082c0256 100644 --- a/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt +++ b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt @@ -19,15 +19,12 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import org.springframework.beans.BeanUtils import org.springframework.data.annotation.Id -import org.springframework.data.domain.Persistable -import org.springframework.data.repository.Repository -import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport -import org.springframework.data.repository.core.support.RepositoryFactorySupport /** * Unit tests for [KotlinBeanInfoFactory]. * @author Mark Paluch */ +// TODO SPLIT class KotlinBeanInfoFactoryUnitTests { @Test @@ -104,16 +101,6 @@ class KotlinBeanInfoFactoryUnitTests { assertThat(pds).extracting("name").contains("ordinal") } - @Test // GH-2994 - internal fun includesPropertiesFromJavaSupertypes() { - - val pds = - BeanUtils.getPropertyDescriptors(MyRepositoryFactoryBeanImpl::class.java) - - assertThat(pds).extracting("name") - .contains("myQueryLookupStrategyKey", "repositoryBaseClass") - } - @Test // GH-2993 internal fun skipsAsymmetricGettersAndSetters() { @@ -124,22 +111,6 @@ class KotlinBeanInfoFactoryUnitTests { assertThat(pds[0].readMethod).isNotNull() } - @Test // GH-3140 - internal fun specializesBeanMethods() { - - var pds = BeanUtils.getPropertyDescriptors(Entity::class.java) - - assertThat(pds.find { it.name == "id" }!!.readMethod!!.declaringClass).isEqualTo( - Entity::class.java - ) - - pds = BeanUtils.getPropertyDescriptors(DogEntity::class.java) - - assertThat(pds.find { it.name == "name" }!!.readMethod!!.declaringClass).isEqualTo( - DogEntity::class.java - ) - } - @Test // GH-3167 internal fun supportsPropertiesWithDifferentAccessorTypes() { @@ -164,21 +135,6 @@ class KotlinBeanInfoFactoryUnitTests { Foo, Bar } - class MyRepositoryFactoryBeanImpl(repository: Class) : - RepositoryFactoryBeanSupport(repository) - where R : Repository, E : Any, I : Any { - - private var myQueryLookupStrategyKey: String - get() = "" - set(value) { - - } - - override fun createRepositoryFactory(): RepositoryFactorySupport { - throw UnsupportedOperationException() - } - } - interface Interval { val end: T } @@ -188,17 +144,6 @@ class KotlinBeanInfoFactoryUnitTests { protected set } - class Entity( - private val id: Long? = null, - - val name: String - ) : Persistable { - - override fun getId(): Long? = id - - override fun isNew(): Boolean = id == null - } - open class DogEntity : Animal() { @Id diff --git a/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt b/spring-data-commons-core/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt rename to spring-data-commons-core/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt diff --git a/spring-data-commons-core/src/test/resources/META-INF/spring.factories b/spring-data-commons-core/src/test/resources/META-INF/spring.factories new file mode 100644 index 0000000000..a05b999513 --- /dev/null +++ b/spring-data-commons-core/src/test/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.data.util.ProxyUtils$ProxyDetector=org.springframework.data.util.ProxyUtilsUnitTests$SampleProxyDetector diff --git a/src/test/resources/logback.xml b/spring-data-commons-core/src/test/resources/logback.xml similarity index 100% rename from src/test/resources/logback.xml rename to spring-data-commons-core/src/test/resources/logback.xml diff --git a/src/test/resources/org/springframework/data/config/type-filter-test.xml b/spring-data-commons-core/src/test/resources/org/springframework/data/config/type-filter-test.xml similarity index 100% rename from src/test/resources/org/springframework/data/config/type-filter-test.xml rename to spring-data-commons-core/src/test/resources/org/springframework/data/config/type-filter-test.xml diff --git a/spring-data-commons-distribution/pom.xml b/spring-data-commons-distribution/pom.xml new file mode 100644 index 0000000000..90849d01b9 --- /dev/null +++ b/spring-data-commons-distribution/pom.xml @@ -0,0 +1,93 @@ + + + + + 4.0.0 + + spring-data-commons-distribution + pom + + Spring Data Commons - Distribution + Distribution build for Spring Data Commons + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + ${basedir}/.. + ${project.basedir}/../src/main/antora/antora-playbook.yml + + + + + + + + ${project.basedir}/../src/main/antora/resources/antora-resources + + true + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.4.0 + + + timestamp-property + + timestamp-property + + validate + + current.year + yyyy + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + + resources + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.antora + antora-maven-plugin + + + + + + diff --git a/spring-data-commons-domain/pom.xml b/spring-data-commons-domain/pom.xml new file mode 100644 index 0000000000..40a848535f --- /dev/null +++ b/spring-data-commons-domain/pom.xml @@ -0,0 +1,92 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-commons-domain + 4.0.0-SNAPSHOT + + Spring Data Commons Domain + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-core + ${project.version} + + + + org.springframework + spring-core-test + test + + + + org.springframework + spring-beans + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + org.springframework.hateoas + spring-hateoas + ${spring-hateoas} + true + + + + com.fasterxml.jackson.core + jackson-databind + true + + + + tools.jackson.core + jackson-databind + true + + + + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb} + provided + + + + com.sun.xml.bind + jaxb-impl + test + + + + xmlunit + xmlunit + test + + + + diff --git a/src/main/java/org/springframework/data/aot/AotContext.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/AotContext.java similarity index 99% rename from src/main/java/org/springframework/data/aot/AotContext.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/AotContext.java index 0f9a0a5c8d..e17c6cce1d 100644 --- a/src/main/java/org/springframework/data/aot/AotContext.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/AotContext.java @@ -256,7 +256,7 @@ interface TypeIntrospector { * classpath. * @see #isTypePresent() * @see #resolveRequiredType() - * @see java.util.Optional + * @see Optional */ Optional> resolveType(); @@ -266,7 +266,7 @@ interface TypeIntrospector { * * @param action {@link Consumer} defining the action to perform on the resolved {@link Class type}; must not be * {@literal null}. - * @see java.util.function.Consumer + * @see Consumer * @see #resolveType() */ default void ifTypePresent(Consumer> action) { diff --git a/src/main/java/org/springframework/data/aot/DefaultAotContext.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/DefaultAotContext.java similarity index 100% rename from src/main/java/org/springframework/data/aot/DefaultAotContext.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/DefaultAotContext.java diff --git a/src/main/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessor.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessor.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessor.java diff --git a/src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java similarity index 97% rename from src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java index 0bc6cd3ba6..a7ef63ac43 100644 --- a/src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessor.java @@ -37,7 +37,6 @@ import org.springframework.core.env.StandardEnvironment; import org.springframework.data.domain.ManagedTypes; import org.springframework.data.util.Lazy; -import org.springframework.data.util.QTypeContributor; import org.springframework.data.util.TypeContributor; import org.springframework.data.util.TypeUtils; import org.springframework.util.ClassUtils; @@ -148,7 +147,9 @@ protected void contributeType(ResolvableType type, GenerationContext generationC Class resolvedType = type.toClass(); TypeContributor.contribute(resolvedType, annotationNamespaces, generationContext); - QTypeContributor.contributeEntityPath(resolvedType, generationContext, resolvedType.getClassLoader()); + + // TODO SPLIT + // QTypeContributor.contributeEntityPath(resolvedType, generationContext, resolvedType.getClassLoader()); TypeUtils.resolveUsedAnnotations(resolvedType).forEach( annotation -> TypeContributor.contribute(annotation.getType(), annotationNamespaces, generationContext)); diff --git a/src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java similarity index 99% rename from src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java index 1e59e7e852..0263500d1c 100644 --- a/src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/ManagedTypesRegistrationAotContribution.java @@ -70,7 +70,7 @@ * @author Christoph Strobl * @author Mark Paluch * @since 3.0 - * @see org.springframework.beans.factory.aot.BeanRegistrationAotContribution + * @see BeanRegistrationAotContribution */ class ManagedTypesRegistrationAotContribution implements RegisteredBeanAotContribution { diff --git a/src/main/java/org/springframework/data/aot/PublicMethodReflectiveProcessor.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/PublicMethodReflectiveProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/aot/PublicMethodReflectiveProcessor.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/PublicMethodReflectiveProcessor.java diff --git a/src/main/java/org/springframework/data/aot/RegisteredBeanAotContribution.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/RegisteredBeanAotContribution.java similarity index 100% rename from src/main/java/org/springframework/data/aot/RegisteredBeanAotContribution.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/RegisteredBeanAotContribution.java diff --git a/src/main/java/org/springframework/data/aot/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/aot/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/aot/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/aot/package-info.java diff --git a/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java similarity index 100% rename from src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java diff --git a/src/main/java/org/springframework/data/domain/AbstractPageRequest.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/AbstractPageRequest.java similarity index 100% rename from src/main/java/org/springframework/data/domain/AbstractPageRequest.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/AbstractPageRequest.java diff --git a/src/main/java/org/springframework/data/domain/AfterDomainEventPublication.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/AfterDomainEventPublication.java similarity index 100% rename from src/main/java/org/springframework/data/domain/AfterDomainEventPublication.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/AfterDomainEventPublication.java diff --git a/src/main/java/org/springframework/data/domain/Auditable.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Auditable.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Auditable.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Auditable.java diff --git a/src/main/java/org/springframework/data/domain/AuditorAware.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/AuditorAware.java similarity index 100% rename from src/main/java/org/springframework/data/domain/AuditorAware.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/AuditorAware.java diff --git a/src/main/java/org/springframework/data/domain/Chunk.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Chunk.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Chunk.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Chunk.java diff --git a/src/main/java/org/springframework/data/domain/DomainEvents.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/DomainEvents.java similarity index 100% rename from src/main/java/org/springframework/data/domain/DomainEvents.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/DomainEvents.java diff --git a/src/main/java/org/springframework/data/domain/DoubleVector.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/DoubleVector.java similarity index 100% rename from src/main/java/org/springframework/data/domain/DoubleVector.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/DoubleVector.java diff --git a/src/main/java/org/springframework/data/domain/Example.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Example.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Example.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Example.java diff --git a/src/main/java/org/springframework/data/domain/ExampleMatcher.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/ExampleMatcher.java similarity index 99% rename from src/main/java/org/springframework/data/domain/ExampleMatcher.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/ExampleMatcher.java index e59698a719..e62701f1cc 100644 --- a/src/main/java/org/springframework/data/domain/ExampleMatcher.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/ExampleMatcher.java @@ -221,9 +221,9 @@ default ExampleMatcher withIgnoreNullValues() { NullHandler getNullHandler(); /** - * Get the defined {@link ExampleMatcher.StringMatcher}. + * Get the defined {@link StringMatcher}. * - * @return the defined {@link ExampleMatcher.StringMatcher}. + * @return the defined {@link StringMatcher}. */ StringMatcher getDefaultStringMatcher(); @@ -591,7 +591,7 @@ interface PropertyValueTransformer extends Function, Optional... types) { * {@literal null}. * @return new instance of {@link ManagedTypes} initialized the given, required {@link Iterable} of {@link Class * types}. - * @see java.lang.Iterable + * @see Iterable * @see #fromStream(Stream) * @see #fromSupplier(Supplier) */ @@ -84,7 +84,7 @@ static ManagedTypes fromIterable(Iterable> types) { * @param types {@link Stream} of {@link Class types} used to initialize the {@link ManagedTypes}; must not be * {@literal null}. * @return new instance of {@link ManagedTypes} initialized the given, required {@link Stream} of {@link Class types}. - * @see java.util.stream.Stream + * @see Stream * @see #fromIterable(Iterable) * @see #fromSupplier(Supplier) */ @@ -102,8 +102,8 @@ static ManagedTypes fromStream(Stream> types) { * {@link ManagedTypes}; must not be {@literal null}. * @return new instance of {@link ManagedTypes} initialized the given, required {@link Supplier} of an * {@link Iterable} of {@link Class types}. - * @see java.util.function.Supplier - * @see java.lang.Iterable + * @see Supplier + * @see Iterable * @see #fromIterable(Iterable) * @see #fromStream(Stream) */ @@ -128,7 +128,7 @@ public void forEach(Consumer> action) { * * @param action {@link Consumer} defining the action to perform on the {@link Class types} contained in this * {@link ManagedTypes} instance; must not be {@literal null}. - * @see java.util.function.Consumer + * @see Consumer */ void forEach(Consumer> action); @@ -136,7 +136,7 @@ public void forEach(Consumer> action) { * Returns all the {@link ManagedTypes} in a {@link List}. * * @return these {@link ManagedTypes} in a {@link List}; never {@literal null}. - * @see java.util.List + * @see List */ default List> toList() { diff --git a/src/main/java/org/springframework/data/domain/NumberVector.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/NumberVector.java similarity index 100% rename from src/main/java/org/springframework/data/domain/NumberVector.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/NumberVector.java diff --git a/src/main/java/org/springframework/data/domain/OffsetScrollPosition.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/OffsetScrollPosition.java similarity index 100% rename from src/main/java/org/springframework/data/domain/OffsetScrollPosition.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/OffsetScrollPosition.java diff --git a/src/main/java/org/springframework/data/domain/Page.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Page.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Page.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Page.java diff --git a/src/main/java/org/springframework/data/domain/PageImpl.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/PageImpl.java similarity index 100% rename from src/main/java/org/springframework/data/domain/PageImpl.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/PageImpl.java diff --git a/src/main/java/org/springframework/data/domain/PageRequest.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/PageRequest.java similarity index 100% rename from src/main/java/org/springframework/data/domain/PageRequest.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/PageRequest.java diff --git a/src/main/java/org/springframework/data/domain/Pageable.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Pageable.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Pageable.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Pageable.java diff --git a/src/main/java/org/springframework/data/domain/Persistable.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Persistable.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Persistable.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Persistable.java diff --git a/src/main/java/org/springframework/data/domain/Range.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Range.java similarity index 99% rename from src/main/java/org/springframework/data/domain/Range.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Range.java index be53c621f8..9dd4afcb47 100644 --- a/src/main/java/org/springframework/data/domain/Range.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Range.java @@ -241,11 +241,11 @@ public String toString() { return String.format("%s-%s", lowerBound.toPrefixString(), upperBound.toSuffixString()); } - public Range.Bound getLowerBound() { + public Bound getLowerBound() { return this.lowerBound; } - public Range.Bound getUpperBound() { + public Bound getUpperBound() { return this.upperBound; } diff --git a/src/main/java/org/springframework/data/domain/ReactiveAuditorAware.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/ReactiveAuditorAware.java similarity index 100% rename from src/main/java/org/springframework/data/domain/ReactiveAuditorAware.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/ReactiveAuditorAware.java diff --git a/src/main/java/org/springframework/data/domain/Score.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Score.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Score.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Score.java diff --git a/src/main/java/org/springframework/data/domain/ScoringFunction.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/ScoringFunction.java similarity index 100% rename from src/main/java/org/springframework/data/domain/ScoringFunction.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/ScoringFunction.java diff --git a/src/main/java/org/springframework/data/domain/ScrollPosition.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/ScrollPosition.java similarity index 100% rename from src/main/java/org/springframework/data/domain/ScrollPosition.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/ScrollPosition.java diff --git a/src/main/java/org/springframework/data/domain/SearchResult.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/SearchResult.java similarity index 100% rename from src/main/java/org/springframework/data/domain/SearchResult.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/SearchResult.java diff --git a/src/main/java/org/springframework/data/domain/SearchResults.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/SearchResults.java similarity index 100% rename from src/main/java/org/springframework/data/domain/SearchResults.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/SearchResults.java diff --git a/src/main/java/org/springframework/data/domain/Similarity.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Similarity.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Similarity.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Similarity.java diff --git a/src/main/java/org/springframework/data/domain/Slice.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Slice.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Slice.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Slice.java diff --git a/src/main/java/org/springframework/data/domain/SliceImpl.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/SliceImpl.java similarity index 100% rename from src/main/java/org/springframework/data/domain/SliceImpl.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/SliceImpl.java diff --git a/src/main/java/org/springframework/data/domain/Sort.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Sort.java similarity index 99% rename from src/main/java/org/springframework/data/domain/Sort.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Sort.java index f3d39640dd..8e24b91521 100644 --- a/src/main/java/org/springframework/data/domain/Sort.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Sort.java @@ -48,7 +48,7 @@ * @author Johannes Englmeier * @author Jan Kurella */ -public class Sort implements Streamable, Serializable { +public class Sort implements Streamable, Serializable { private static final @Serial long serialVersionUID = 5737186511678863905L; diff --git a/src/main/java/org/springframework/data/domain/TypedExample.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/TypedExample.java similarity index 100% rename from src/main/java/org/springframework/data/domain/TypedExample.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/TypedExample.java diff --git a/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java similarity index 100% rename from src/main/java/org/springframework/data/domain/TypedExampleMatcher.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java diff --git a/src/main/java/org/springframework/data/domain/Unpaged.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Unpaged.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Unpaged.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Unpaged.java diff --git a/src/main/java/org/springframework/data/domain/UnspecifiedScoringFunction.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/UnspecifiedScoringFunction.java similarity index 100% rename from src/main/java/org/springframework/data/domain/UnspecifiedScoringFunction.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/UnspecifiedScoringFunction.java diff --git a/src/main/java/org/springframework/data/domain/Vector.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Vector.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Vector.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Vector.java diff --git a/src/main/java/org/springframework/data/domain/VectorScoringFunctions.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/VectorScoringFunctions.java similarity index 100% rename from src/main/java/org/springframework/data/domain/VectorScoringFunctions.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/VectorScoringFunctions.java diff --git a/src/main/java/org/springframework/data/domain/Window.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/Window.java similarity index 100% rename from src/main/java/org/springframework/data/domain/Window.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/Window.java diff --git a/src/main/java/org/springframework/data/domain/WindowImpl.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/WindowImpl.java similarity index 100% rename from src/main/java/org/springframework/data/domain/WindowImpl.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/WindowImpl.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java similarity index 100% rename from src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java diff --git a/src/main/java/org/springframework/data/domain/jaxb/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/package-info.java similarity index 60% rename from src/main/java/org/springframework/data/domain/jaxb/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/package-info.java index a373707b29..4d09d28865 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/package-info.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/jaxb/package-info.java @@ -5,11 +5,11 @@ * @see org.springframework.data.repository.Repository */ @XmlSchema( - xmlns = { @XmlNs(prefix = "sd", namespaceURI = org.springframework.data.domain.jaxb.SpringDataJaxb.NAMESPACE) }) + xmlns = { @XmlNs(prefix = "sd", namespaceURI = SpringDataJaxb.NAMESPACE) }) @XmlJavaTypeAdapters({ - @XmlJavaTypeAdapter(value = org.springframework.data.domain.jaxb.PageableAdapter.class, type = Pageable.class), - @XmlJavaTypeAdapter(value = org.springframework.data.domain.jaxb.SortAdapter.class, type = Sort.class), - @XmlJavaTypeAdapter(value = org.springframework.data.domain.jaxb.PageAdapter.class, type = Page.class) }) + @XmlJavaTypeAdapter(value = PageableAdapter.class, type = Pageable.class), + @XmlJavaTypeAdapter(value = SortAdapter.class, type = Sort.class), + @XmlJavaTypeAdapter(value = PageAdapter.class, type = Page.class) }) @org.jspecify.annotations.NullMarked package org.springframework.data.domain.jaxb; diff --git a/src/main/java/org/springframework/data/domain/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/domain/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/domain/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/domain/package-info.java diff --git a/src/main/java/org/springframework/data/geo/Box.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Box.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Box.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Box.java diff --git a/src/main/java/org/springframework/data/geo/Circle.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Circle.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Circle.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Circle.java diff --git a/src/main/java/org/springframework/data/geo/CustomMetric.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/CustomMetric.java similarity index 100% rename from src/main/java/org/springframework/data/geo/CustomMetric.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/CustomMetric.java diff --git a/src/main/java/org/springframework/data/geo/Distance.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Distance.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Distance.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Distance.java diff --git a/src/main/java/org/springframework/data/geo/GeoJacksonModule.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoJacksonModule.java similarity index 100% rename from src/main/java/org/springframework/data/geo/GeoJacksonModule.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoJacksonModule.java diff --git a/src/main/java/org/springframework/data/geo/GeoModule.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoModule.java similarity index 100% rename from src/main/java/org/springframework/data/geo/GeoModule.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoModule.java diff --git a/src/main/java/org/springframework/data/geo/GeoPage.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoPage.java similarity index 100% rename from src/main/java/org/springframework/data/geo/GeoPage.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoPage.java diff --git a/src/main/java/org/springframework/data/geo/GeoResult.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoResult.java similarity index 100% rename from src/main/java/org/springframework/data/geo/GeoResult.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoResult.java diff --git a/src/main/java/org/springframework/data/geo/GeoResults.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoResults.java similarity index 100% rename from src/main/java/org/springframework/data/geo/GeoResults.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/GeoResults.java diff --git a/src/main/java/org/springframework/data/geo/Metric.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Metric.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Metric.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Metric.java diff --git a/src/main/java/org/springframework/data/geo/Metrics.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Metrics.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Metrics.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Metrics.java diff --git a/src/main/java/org/springframework/data/geo/Point.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Point.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Point.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Point.java diff --git a/src/main/java/org/springframework/data/geo/Polygon.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Polygon.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Polygon.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Polygon.java diff --git a/src/main/java/org/springframework/data/geo/Shape.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/Shape.java similarity index 100% rename from src/main/java/org/springframework/data/geo/Shape.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/Shape.java diff --git a/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java similarity index 100% rename from src/main/java/org/springframework/data/geo/format/DistanceFormatter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java diff --git a/src/main/java/org/springframework/data/geo/format/PointFormatter.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/PointFormatter.java similarity index 100% rename from src/main/java/org/springframework/data/geo/format/PointFormatter.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/PointFormatter.java diff --git a/src/main/java/org/springframework/data/geo/format/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/geo/format/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/format/package-info.java diff --git a/src/main/java/org/springframework/data/geo/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/geo/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/geo/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/geo/package-info.java diff --git a/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java diff --git a/src/main/java/org/springframework/data/history/Revision.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/Revision.java similarity index 100% rename from src/main/java/org/springframework/data/history/Revision.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/Revision.java diff --git a/src/main/java/org/springframework/data/history/RevisionMetadata.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/RevisionMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/history/RevisionMetadata.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/RevisionMetadata.java diff --git a/src/main/java/org/springframework/data/history/RevisionSort.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/RevisionSort.java similarity index 100% rename from src/main/java/org/springframework/data/history/RevisionSort.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/RevisionSort.java diff --git a/src/main/java/org/springframework/data/history/Revisions.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/Revisions.java similarity index 100% rename from src/main/java/org/springframework/data/history/Revisions.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/Revisions.java diff --git a/src/main/java/org/springframework/data/history/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/history/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/history/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/history/package-info.java diff --git a/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java similarity index 87% rename from src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java index bbbab55649..1872e383d0 100644 --- a/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java +++ b/spring-data-commons-domain/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java @@ -42,9 +42,9 @@ public ExampleMatcherAccessor(ExampleMatcher matcher) { /** * Returns the {@link PropertySpecifier}s of the underlying {@link ExampleMatcher}. * - * @return unmodifiable {@link Collection} of {@link ExampleMatcher.PropertySpecifier}s. + * @return unmodifiable {@link Collection} of {@link PropertySpecifier}s. */ - public Collection getPropertySpecifiers() { + public Collection getPropertySpecifiers() { return matcher.getPropertySpecifiers().getSpecifiers(); } @@ -52,25 +52,25 @@ public Collection getPropertySpecifiers() { * Returns whether the underlying {@link ExampleMatcher} contains a {@link PropertySpecifier} for the given path. * * @param path the dot-path identifying a property. - * @return {@literal true} in case {@link ExampleMatcher.PropertySpecifier} defined for given path. + * @return {@literal true} in case {@link PropertySpecifier} defined for given path. */ public boolean hasPropertySpecifier(String path) { return matcher.getPropertySpecifiers().hasSpecifierForPath(path); } /** - * Get the {@link ExampleMatcher.PropertySpecifier} for given path.
+ * Get the {@link PropertySpecifier} for given path.
* Please check if {@link #hasPropertySpecifier(String)} to avoid running into {@literal null} values. * * @param path Dot-Path to property. - * @return {@literal null} when no {@link ExampleMatcher.PropertySpecifier} defined for path. + * @return {@literal null} when no {@link PropertySpecifier} defined for path. */ - public ExampleMatcher.@Nullable PropertySpecifier getPropertySpecifier(String path) { + public @Nullable PropertySpecifier getPropertySpecifier(String path) { return matcher.getPropertySpecifiers().getForPath(path); } /** - * @return true if at least one {@link ExampleMatcher.PropertySpecifier} defined. + * @return true if at least one {@link PropertySpecifier} defined. */ public boolean hasPropertySpecifiers() { return matcher.getPropertySpecifiers().hasValues(); diff --git a/src/main/java/org/springframework/data/support/IsNewStrategy.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/IsNewStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/support/IsNewStrategy.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/IsNewStrategy.java diff --git a/src/main/java/org/springframework/data/support/PageableExecutionUtils.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/PageableExecutionUtils.java similarity index 100% rename from src/main/java/org/springframework/data/support/PageableExecutionUtils.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/PageableExecutionUtils.java diff --git a/src/main/java/org/springframework/data/support/PersistableIsNewStrategy.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/PersistableIsNewStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/support/PersistableIsNewStrategy.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/PersistableIsNewStrategy.java diff --git a/src/main/java/org/springframework/data/support/PlaceholderResolver.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/PlaceholderResolver.java similarity index 100% rename from src/main/java/org/springframework/data/support/PlaceholderResolver.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/PlaceholderResolver.java diff --git a/src/main/java/org/springframework/data/support/ReactivePageableExecutionUtils.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/ReactivePageableExecutionUtils.java similarity index 100% rename from src/main/java/org/springframework/data/support/ReactivePageableExecutionUtils.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/ReactivePageableExecutionUtils.java diff --git a/src/main/java/org/springframework/data/support/WindowIterator.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/WindowIterator.java similarity index 100% rename from src/main/java/org/springframework/data/support/WindowIterator.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/WindowIterator.java diff --git a/src/main/java/org/springframework/data/support/package-info.java b/spring-data-commons-domain/src/main/java/org/springframework/data/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/support/package-info.java rename to spring-data-commons-domain/src/main/java/org/springframework/data/support/package-info.java diff --git a/spring-data-commons-domain/src/main/resources/META-INF/spring/aot.factories b/spring-data-commons-domain/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 0000000000..5c0df65d2d --- /dev/null +++ b/spring-data-commons-domain/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1,2 @@ +org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor=\ + org.springframework.data.aot.ManagedTypesBeanFactoryInitializationAotProcessor diff --git a/spring-data-commons-domain/src/main/resources/license.txt b/spring-data-commons-domain/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons-domain/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons-domain/src/main/resources/notice.txt b/spring-data-commons-domain/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons-domain/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/src/main/resources/org/springframework/data/domain/jaxb/atom.xsd b/spring-data-commons-domain/src/main/resources/org/springframework/data/domain/jaxb/atom.xsd similarity index 100% rename from src/main/resources/org/springframework/data/domain/jaxb/atom.xsd rename to spring-data-commons-domain/src/main/resources/org/springframework/data/domain/jaxb/atom.xsd diff --git a/src/main/resources/org/springframework/data/domain/jaxb/spring-data-jaxb.xsd b/spring-data-commons-domain/src/main/resources/org/springframework/data/domain/jaxb/spring-data-jaxb.xsd similarity index 100% rename from src/main/resources/org/springframework/data/domain/jaxb/spring-data-jaxb.xsd rename to spring-data-commons-domain/src/main/resources/org/springframework/data/domain/jaxb/spring-data-jaxb.xsd diff --git a/src/test/java/org/springframework/data/aot/AotContextUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/AotContextUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/aot/AotContextUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/AotContextUnitTests.java diff --git a/src/test/java/org/springframework/data/aot/AotTestCodeContributionBuilder.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/AotTestCodeContributionBuilder.java similarity index 100% rename from src/test/java/org/springframework/data/aot/AotTestCodeContributionBuilder.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/AotTestCodeContributionBuilder.java diff --git a/src/test/java/org/springframework/data/aot/DeferredTypeBuilder.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/DeferredTypeBuilder.java similarity index 100% rename from src/test/java/org/springframework/data/aot/DeferredTypeBuilder.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/DeferredTypeBuilder.java diff --git a/src/test/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/ManagedTypesBeanFactoryInitializationAotProcessorUnitTests.java diff --git a/src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java index 46dc856877..ae5b13917c 100644 --- a/src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java +++ b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/ManagedTypesBeanRegistrationAotProcessorUnitTests.java @@ -25,9 +25,10 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; -import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.mockito.Mockito; + import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; import org.springframework.aot.test.generate.TestGenerationContext; @@ -64,12 +65,8 @@ class ManagedTypesBeanRegistrationAotProcessorUnitTests { private final RootBeanDefinition invocationCountingManagedTypesDefinition = (RootBeanDefinition) BeanDefinitionBuilder .rootBeanDefinition(InvocationRecordingManagedTypes.class).getBeanDefinition(); - private DefaultListableBeanFactory beanFactory; + private DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); - @BeforeEach - void beforeEach() { - beanFactory = spy(new DefaultListableBeanFactory()); - } @Test // GH-2593 void processesBeanWithMatchingModulePrefix() { @@ -83,6 +80,7 @@ void processesBeanWithMatchingModulePrefix() { } @Test // GH-2593 + @Disabled("TODO SPLIT") void processesBeanDefinitionIfPossibleWithoutLoadingTheBean() { beanFactory.registerBeanDefinition("commons.managed-types", managedTypesDefinition); @@ -120,6 +118,7 @@ void processesMatchingSubtypeBean() { } @Test // GH-2593 + @Disabled("TODO SPLIT") void processesMatchingSubtypeBeanByAttemptingToLoadItIfNoMatchingConstructorArgumentFound() { beanFactory.registerBeanDefinition("commons.managed-types", myManagedTypesDefinition); @@ -153,6 +152,7 @@ void ignoresBeanNotMatchingPrefix() { } @Test // GH-2593 + @Disabled("TODO SPLIT") void returnsEmptyContributionWhenBeanCannotBeLoaded() { doThrow(new BeanCreationException("o_O")).when(beanFactory).getBean(eq("commons.managed-types"), diff --git a/src/test/java/org/springframework/data/aot/MockBeanRegistrationCode.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/MockBeanRegistrationCode.java similarity index 100% rename from src/test/java/org/springframework/data/aot/MockBeanRegistrationCode.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/MockBeanRegistrationCode.java diff --git a/src/test/java/org/springframework/data/aot/TypeCollectorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/TypeCollectorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/aot/TypeCollectorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/TypeCollectorUnitTests.java diff --git a/src/test/java/org/springframework/data/aot/types/AbstractType.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/AbstractType.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/AbstractType.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/AbstractType.java diff --git a/src/test/java/org/springframework/data/aot/types/Address.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/Address.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/Address.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/Address.java diff --git a/src/test/java/org/springframework/data/aot/types/BaseEntity.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/BaseEntity.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/BaseEntity.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/BaseEntity.java diff --git a/src/test/java/org/springframework/data/aot/types/Customer.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/Customer.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/Customer.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/Customer.java diff --git a/src/test/java/org/springframework/data/aot/types/CyclicGenerics.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicGenerics.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/CyclicGenerics.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicGenerics.java diff --git a/src/test/java/org/springframework/data/aot/types/CyclicPropertiesA.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesA.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/CyclicPropertiesA.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesA.java diff --git a/src/test/java/org/springframework/data/aot/types/CyclicPropertiesB.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesB.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/CyclicPropertiesB.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesB.java diff --git a/src/test/java/org/springframework/data/aot/types/CyclicPropertiesSelf.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesSelf.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/CyclicPropertiesSelf.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/CyclicPropertiesSelf.java diff --git a/src/test/java/org/springframework/data/aot/types/DomainObjectWithSimpleTypesOnly.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/DomainObjectWithSimpleTypesOnly.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/DomainObjectWithSimpleTypesOnly.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/DomainObjectWithSimpleTypesOnly.java diff --git a/src/test/java/org/springframework/data/aot/types/EmptyType1.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/EmptyType1.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/EmptyType1.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/EmptyType1.java diff --git a/src/test/java/org/springframework/data/aot/types/EmptyType2.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/EmptyType2.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/EmptyType2.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/EmptyType2.java diff --git a/src/test/java/org/springframework/data/aot/types/FieldsAndMethods.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/FieldsAndMethods.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/FieldsAndMethods.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/FieldsAndMethods.java diff --git a/src/test/java/org/springframework/data/aot/types/InterfaceType.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/InterfaceType.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/InterfaceType.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/InterfaceType.java diff --git a/src/test/java/org/springframework/data/aot/types/LocationHolder.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/LocationHolder.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/LocationHolder.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/LocationHolder.java diff --git a/src/test/java/org/springframework/data/aot/types/ProjectionInterface.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/ProjectionInterface.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/ProjectionInterface.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/ProjectionInterface.java diff --git a/src/test/java/org/springframework/data/aot/types/TypesInMethodSignatures.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/TypesInMethodSignatures.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/TypesInMethodSignatures.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/TypesInMethodSignatures.java diff --git a/src/test/java/org/springframework/data/aot/types/WithDeclaredClass.java b/spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/WithDeclaredClass.java similarity index 100% rename from src/test/java/org/springframework/data/aot/types/WithDeclaredClass.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/aot/types/WithDeclaredClass.java diff --git a/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/DirectionUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/DirectionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/DirectionUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/DirectionUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/DoubleVectorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/DoubleVectorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/DoubleVectorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/DoubleVectorUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/ExampleUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/ExampleUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/ExampleUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/ExampleUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/FloatVectorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/FloatVectorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/FloatVectorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/FloatVectorUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/LimitUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/LimitUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/LimitUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/LimitUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/ManagedTypesUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/ManagedTypesUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/ManagedTypesUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/ManagedTypesUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java index ba730de0fc..9070416501 100644 --- a/src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java +++ b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/NumberVectorUnitTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.domain; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.*; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/PageImplUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/PageImplUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/PageImplUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/PageRequestUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/RangeUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/RangeUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/RangeUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/RangeUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/ScrollPositionUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/ScrollPositionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/ScrollPositionUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/ScrollPositionUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/SearchResultUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/SearchResultUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/SearchResultUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/SearchResultUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/SearchResultsUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/SearchResultsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/SearchResultsUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/SearchResultsUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/SimilarityUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/SimilarityUnitTests.java similarity index 95% rename from src/test/java/org/springframework/data/domain/SimilarityUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/SimilarityUnitTests.java index 564d45346c..ab1e2935aa 100644 --- a/src/test/java/org/springframework/data/domain/SimilarityUnitTests.java +++ b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/SimilarityUnitTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.domain; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.assertj.core.api.Assertions.*; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/springframework/data/domain/SortUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/SortUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/SortUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/SortUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/UnitTestUtils.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/UnitTestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/domain/UnitTestUtils.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/UnitTestUtils.java diff --git a/src/test/java/org/springframework/data/domain/VectorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/VectorUnitTests.java similarity index 94% rename from src/test/java/org/springframework/data/domain/VectorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/VectorUnitTests.java index 4f5f3b0248..b97042ac4a 100644 --- a/src/test/java/org/springframework/data/domain/VectorUnitTests.java +++ b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/VectorUnitTests.java @@ -15,7 +15,7 @@ */ package org.springframework.data.domain; -import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.assertj.core.api.Assertions.*; import java.util.Collection; diff --git a/src/test/java/org/springframework/data/domain/WindowIteratorUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/WindowIteratorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/WindowIteratorUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/WindowIteratorUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/WindowUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/WindowUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/WindowUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/WindowUnitTests.java diff --git a/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/BoxUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/BoxUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/BoxUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/BoxUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/CircleUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/CircleUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/CircleUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/CircleUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/DistanceUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/DistanceUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/DistanceUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/DistanceUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/GeoJacksonModuleIntegrationTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoJacksonModuleIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/GeoJacksonModuleIntegrationTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoJacksonModuleIntegrationTests.java diff --git a/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java diff --git a/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/GeoResultUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/PointUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/PointUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/PointUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/PointUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/PolygonUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/PolygonUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/PolygonUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/PolygonUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/format/DistanceFormatterUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/format/DistanceFormatterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/format/DistanceFormatterUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/format/DistanceFormatterUnitTests.java diff --git a/src/test/java/org/springframework/data/geo/format/PointFormatterUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/geo/format/PointFormatterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/geo/format/PointFormatterUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/geo/format/PointFormatterUnitTests.java diff --git a/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java diff --git a/src/test/java/org/springframework/data/history/RevisionUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/history/RevisionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/history/RevisionUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/history/RevisionUnitTests.java diff --git a/src/test/java/org/springframework/data/history/RevisionsUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/history/RevisionsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/history/RevisionsUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/history/RevisionsUnitTests.java diff --git a/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java diff --git a/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/support/ReactivePageableExecutionUtilsUnitTests.java b/spring-data-commons-domain/src/test/java/org/springframework/data/support/ReactivePageableExecutionUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/support/ReactivePageableExecutionUtilsUnitTests.java rename to spring-data-commons-domain/src/test/java/org/springframework/data/support/ReactivePageableExecutionUtilsUnitTests.java diff --git a/src/test/resources/org/springframework/data/domain/jaxb/jaxb.index b/spring-data-commons-domain/src/test/resources/org/springframework/data/domain/jaxb/jaxb.index similarity index 100% rename from src/test/resources/org/springframework/data/domain/jaxb/jaxb.index rename to spring-data-commons-domain/src/test/resources/org/springframework/data/domain/jaxb/jaxb.index diff --git a/src/test/resources/org/springframework/data/domain/jaxb/pageable.xml b/spring-data-commons-domain/src/test/resources/org/springframework/data/domain/jaxb/pageable.xml similarity index 80% rename from src/test/resources/org/springframework/data/domain/jaxb/pageable.xml rename to spring-data-commons-domain/src/test/resources/org/springframework/data/domain/jaxb/pageable.xml index b08245c504..9ea2b34789 100644 --- a/src/test/resources/org/springframework/data/domain/jaxb/pageable.xml +++ b/spring-data-commons-domain/src/test/resources/org/springframework/data/domain/jaxb/pageable.xml @@ -1,5 +1,5 @@ - + diff --git a/spring-data-commons-mapping/pom.xml b/spring-data-commons-mapping/pom.xml new file mode 100644 index 0000000000..a14cb57c05 --- /dev/null +++ b/spring-data-commons-mapping/pom.xml @@ -0,0 +1,159 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-commons-mapping + 4.0.0-SNAPSHOT + + Spring Data Commons Mapping and Conversion + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-core + ${project.version} + + + + org.springframework.data + spring-data-commons-domain + ${project.version} + + + + org.springframework + spring-core + + + + org.springframework + spring-beans + + + + org.springframework + spring-context + true + + + + org.springframework + spring-expression + true + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + org.jetbrains.kotlin + kotlin-stdlib + true + + + + org.jetbrains.kotlin + kotlin-reflect + true + + + + org.jetbrains.kotlin + kotlin-test-junit5 + ${kotlin} + test + + + + io.mockk + mockk-jvm + ${mockk} + test + + + + com.fasterxml.jackson.core + jackson-databind + true + + + + tools.jackson.core + jackson-databind + true + + + + com.google.code.findbugs + jsr305 + true + + + + com.jayway.jsonpath + json-path + ${jsonpath} + true + + + + org.springframework.data + spring-data-commons-test + ${project.version} + test + + + + io.vavr + vavr + ${vavr} + test + + + + + org.codehaus.groovy + groovy-all + 2.4.21 + test + + + + com.tngtech.archunit + archunit + ${archunit} + test + + + + org.jmolecules.integrations + jmolecules-spring + ${jmolecules-integration} + true + + + + + diff --git a/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java diff --git a/src/main/java/org/springframework/data/auditing/AuditableBeanWrapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditableBeanWrapper.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/AuditableBeanWrapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditableBeanWrapper.java diff --git a/src/main/java/org/springframework/data/auditing/AuditableBeanWrapperFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditableBeanWrapperFactory.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/AuditableBeanWrapperFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditableBeanWrapperFactory.java diff --git a/src/main/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessor.java similarity index 98% rename from src/main/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessor.java index a3527e06f7..4747587c01 100644 --- a/src/main/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessor.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot; +package org.springframework.data.auditing; import org.jspecify.annotations.Nullable; diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingHandler.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/AuditingHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingHandler.java diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java diff --git a/src/main/java/org/springframework/data/auditing/Auditor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/Auditor.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/Auditor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/Auditor.java diff --git a/src/main/java/org/springframework/data/auditing/CurrentDateTimeProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/CurrentDateTimeProvider.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/CurrentDateTimeProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/CurrentDateTimeProvider.java diff --git a/src/main/java/org/springframework/data/auditing/DateTimeProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/DateTimeProvider.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/DateTimeProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/DateTimeProvider.java diff --git a/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java diff --git a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java diff --git a/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java diff --git a/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/ReactiveAuditingHandler.java diff --git a/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java diff --git a/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java diff --git a/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java diff --git a/src/main/java/org/springframework/data/auditing/config/AuditingConfiguration.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/config/AuditingConfiguration.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingConfiguration.java diff --git a/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java similarity index 97% rename from src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java index 3aa83379b8..acccc89283 100644 --- a/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java @@ -30,7 +30,6 @@ import org.springframework.data.auditing.AuditingHandler; import org.springframework.data.config.ParsingUtils; import org.springframework.data.mapping.context.MappingContext; -import org.springframework.data.repository.config.PersistentEntitiesFactoryBean; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -84,7 +83,8 @@ protected boolean shouldGenerateId() { @Override protected void doParse(Element element, BeanDefinitionBuilder builder) { - final BeanDefinitionBuilder persistentEntities = rootBeanDefinition(PersistentEntitiesFactoryBean.class); + // TODO SPLIT: PersistentEntitiesFactoryBean + final BeanDefinitionBuilder persistentEntities = rootBeanDefinition(Object.class); persistentEntities.addConstructorArgReference(mappingContextBeanName); builder.addConstructorArgValue(persistentEntities.getBeanDefinition()); diff --git a/src/main/java/org/springframework/data/auditing/config/IsNewAwareAuditingHandlerBeanDefinitionParser.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/IsNewAwareAuditingHandlerBeanDefinitionParser.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/config/IsNewAwareAuditingHandlerBeanDefinitionParser.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/IsNewAwareAuditingHandlerBeanDefinitionParser.java diff --git a/src/main/java/org/springframework/data/auditing/config/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/config/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/config/package-info.java diff --git a/src/main/java/org/springframework/data/auditing/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/auditing/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/auditing/package-info.java diff --git a/src/main/java/org/springframework/data/convert/AnnotatedPropertyValueConverterAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/AnnotatedPropertyValueConverterAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/convert/AnnotatedPropertyValueConverterAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/AnnotatedPropertyValueConverterAccessor.java diff --git a/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java diff --git a/src/main/java/org/springframework/data/convert/ConverterBuilder.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ConverterBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/convert/ConverterBuilder.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ConverterBuilder.java diff --git a/src/main/java/org/springframework/data/convert/CustomConversions.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/CustomConversions.java similarity index 100% rename from src/main/java/org/springframework/data/convert/CustomConversions.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/CustomConversions.java diff --git a/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java diff --git a/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/DefaultTypeMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java diff --git a/src/main/java/org/springframework/data/convert/DtoInstantiatingConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DtoInstantiatingConverter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/DtoInstantiatingConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/DtoInstantiatingConverter.java diff --git a/src/main/java/org/springframework/data/convert/EntityConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityConverter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/EntityConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityConverter.java diff --git a/src/main/java/org/springframework/data/convert/EntityReader.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityReader.java similarity index 100% rename from src/main/java/org/springframework/data/convert/EntityReader.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityReader.java diff --git a/src/main/java/org/springframework/data/convert/EntityWriter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityWriter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/EntityWriter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/EntityWriter.java diff --git a/src/main/java/org/springframework/data/convert/JMoleculesConverters.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/JMoleculesConverters.java similarity index 100% rename from src/main/java/org/springframework/data/convert/JMoleculesConverters.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/JMoleculesConverters.java diff --git a/src/main/java/org/springframework/data/convert/Jsr310Converters.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/Jsr310Converters.java similarity index 100% rename from src/main/java/org/springframework/data/convert/Jsr310Converters.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/Jsr310Converters.java diff --git a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConversionService.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConversionService.java similarity index 100% rename from src/main/java/org/springframework/data/convert/PropertyValueConversionService.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConversionService.java diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConversions.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConversions.java similarity index 100% rename from src/main/java/org/springframework/data/convert/PropertyValueConversions.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConversions.java diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverter.java similarity index 97% rename from src/main/java/org/springframework/data/convert/PropertyValueConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverter.java index 50594bb41c..2052307802 100644 --- a/src/main/java/org/springframework/data/convert/PropertyValueConverter.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverter.java @@ -37,8 +37,8 @@ * @param domain-specific type. * @param store-native type. * @param the store specific {@link ValueConversionContext conversion context}. - * @see org.springframework.data.convert.ValueConversionContext - * @see org.springframework.data.mapping.PersistentProperty + * @see ValueConversionContext + * @see PersistentProperty * @since 2.7 */ public interface PropertyValueConverter>> { diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConverterFactories.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterFactories.java similarity index 100% rename from src/main/java/org/springframework/data/convert/PropertyValueConverterFactories.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterFactories.java diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConverterFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterFactory.java similarity index 100% rename from src/main/java/org/springframework/data/convert/PropertyValueConverterFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterFactory.java diff --git a/src/main/java/org/springframework/data/convert/PropertyValueConverterRegistrar.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/convert/PropertyValueConverterRegistrar.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/PropertyValueConverterRegistrar.java diff --git a/src/main/java/org/springframework/data/convert/ReadingConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ReadingConverter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/ReadingConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ReadingConverter.java diff --git a/src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java similarity index 98% rename from src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java index e69c354059..7bf2c363ed 100644 --- a/src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimplePropertyValueConversions.java @@ -105,8 +105,7 @@ private PropertyValueConverterFactory requireConverterFactory() { /** * Set the {@link ValueConverterRegistry converter registry} used for path configured converters. *

- * This is short for adding a - * {@link org.springframework.data.convert.PropertyValueConverterFactories.ConfiguredInstanceServingValueConverterFactory} + * This is short for adding a {@link PropertyValueConverterFactories.ConfiguredInstanceServingValueConverterFactory} * at the end of a {@link ChainedPropertyValueConverterFactory}. * * @param valueConverterRegistry registry of {@link PropertyValueConverter PropertyValueConverters}. diff --git a/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java similarity index 100% rename from src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimplePropertyValueConverterRegistry.java diff --git a/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java diff --git a/src/main/java/org/springframework/data/convert/TypeAliasAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeAliasAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/convert/TypeAliasAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeAliasAccessor.java diff --git a/src/main/java/org/springframework/data/convert/TypeInformationMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeInformationMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/TypeInformationMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeInformationMapper.java diff --git a/src/main/java/org/springframework/data/convert/TypeMapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeMapper.java similarity index 100% rename from src/main/java/org/springframework/data/convert/TypeMapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/TypeMapper.java diff --git a/src/main/java/org/springframework/data/convert/ValueConversionContext.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConversionContext.java similarity index 97% rename from src/main/java/org/springframework/data/convert/ValueConversionContext.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConversionContext.java index a040c9aa0d..4f1450ffc1 100644 --- a/src/main/java/org/springframework/data/convert/ValueConversionContext.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConversionContext.java @@ -29,7 +29,7 @@ * * @author Christoph Strobl * @author Oliver Drotbohm - * @see org.springframework.data.mapping.PersistentProperty + * @see PersistentProperty */ public interface ValueConversionContext

> { @@ -37,7 +37,7 @@ public interface ValueConversionContext

> { * Return the {@link PersistentProperty} to be handled. * * @return will never be {@literal null}. - * @see org.springframework.data.mapping.PersistentProperty + * @see PersistentProperty */ P getProperty(); diff --git a/src/main/java/org/springframework/data/convert/ValueConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConverter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/ValueConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConverter.java diff --git a/src/main/java/org/springframework/data/convert/ValueConverterRegistry.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConverterRegistry.java similarity index 100% rename from src/main/java/org/springframework/data/convert/ValueConverterRegistry.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/ValueConverterRegistry.java diff --git a/src/main/java/org/springframework/data/convert/WritingConverter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/WritingConverter.java similarity index 100% rename from src/main/java/org/springframework/data/convert/WritingConverter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/WritingConverter.java diff --git a/src/main/java/org/springframework/data/convert/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/convert/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/convert/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/convert/package-info.java diff --git a/src/main/java/org/springframework/data/mapping/AccessOptions.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/AccessOptions.java similarity index 99% rename from src/main/java/org/springframework/data/mapping/AccessOptions.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/AccessOptions.java index cf13a28e22..4a06dbb52c 100644 --- a/src/main/java/org/springframework/data/mapping/AccessOptions.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/AccessOptions.java @@ -101,7 +101,7 @@ public enum GetNulls { */ EARLY_RETURN; - public SetOptions.SetNulls toNullHandling() { + public SetNulls toNullHandling() { return REJECT == this ? SetNulls.REJECT : SetNulls.SKIP; } } diff --git a/src/main/java/org/springframework/data/mapping/Alias.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Alias.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/Alias.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Alias.java diff --git a/src/main/java/org/springframework/data/mapping/Association.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Association.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/Association.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Association.java diff --git a/src/main/java/org/springframework/data/mapping/AssociationHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/AssociationHandler.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/AssociationHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/AssociationHandler.java diff --git a/src/main/java/org/springframework/data/mapping/FactoryMethod.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/FactoryMethod.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/FactoryMethod.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/FactoryMethod.java diff --git a/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/IdentifierAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadata.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/InstanceCreatorMetadata.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadata.java diff --git a/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/InstanceCreatorMetadataSupport.java diff --git a/src/main/java/org/springframework/data/mapping/MappingException.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/MappingException.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/MappingException.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/MappingException.java diff --git a/src/main/java/org/springframework/data/mapping/Parameter.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Parameter.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/Parameter.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/Parameter.java diff --git a/src/main/java/org/springframework/data/mapping/PersistentEntity.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PersistentEntity.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentEntity.java diff --git a/src/main/java/org/springframework/data/mapping/PersistentProperty.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentProperty.java similarity index 97% rename from src/main/java/org/springframework/data/mapping/PersistentProperty.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentProperty.java index e34a1a9e78..2b8f4b27d2 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentProperty.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentProperty.java @@ -291,11 +291,10 @@ default Association

getRequiredAssociation() { boolean isAssociation(); /** - * Returns the component type of the type if it is a {@link java.util.Collection}. Will return the type of the key if - * the property is a {@link java.util.Map}. + * Returns the component type of the type if it is a {@link Collection}. Will return the type of the key if the + * property is a {@link Map}. * - * @return the component type, the map's key type or {@literal null} if neither {@link java.util.Collection} nor - * {@link java.util.Map}. + * @return the component type, the map's key type or {@literal null} if neither {@link Collection} nor {@link Map}. */ @Nullable Class getComponentType(); @@ -308,9 +307,9 @@ default Association

getRequiredAssociation() { Class getRawType(); /** - * Returns the type of the values if the property is a {@link java.util.Map}. + * Returns the type of the values if the property is a {@link Map}. * - * @return the map's value type or {@literal null} if no {@link java.util.Map} + * @return the map's value type or {@literal null} if no {@link Map} */ @Nullable Class getMapValueType(); diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyPathAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPathAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PersistentPropertyPathAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPathAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyPaths.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPaths.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PersistentPropertyPaths.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PersistentPropertyPaths.java diff --git a/src/main/java/org/springframework/data/mapping/PreferredConstructor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PreferredConstructor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PreferredConstructor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PreferredConstructor.java diff --git a/src/main/java/org/springframework/data/mapping/PropertyHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyHandler.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PropertyHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyHandler.java diff --git a/src/main/java/org/springframework/data/mapping/PropertyPath.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyPath.java similarity index 99% rename from src/main/java/org/springframework/data/mapping/PropertyPath.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyPath.java index da10c72273..739c4469d7 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyPath.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyPath.java @@ -161,7 +161,7 @@ public Class getLeafType() { /** * Returns the actual type of the property. Will return the plain resolved type for simple properties, the component - * type for any {@link Iterable} or the value type of a {@link java.util.Map}. + * type for any {@link Iterable} or the value type of a {@link Map}. * * @return the actual type of the property. */ diff --git a/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/PropertyReferenceException.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java diff --git a/src/main/java/org/springframework/data/mapping/SimpleAssociationHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/SimpleAssociationHandler.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/SimpleAssociationHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/SimpleAssociationHandler.java diff --git a/src/main/java/org/springframework/data/mapping/SimplePropertyHandler.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/SimplePropertyHandler.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/SimplePropertyHandler.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/SimplePropertyHandler.java diff --git a/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java similarity index 97% rename from src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java index 983ee52008..86fe5a04eb 100644 --- a/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java @@ -95,7 +95,7 @@ public void addEntityCallback(EntityCallback callback) { this.callbackDiscoverer.addEntityCallback(callback); } - static class SimpleEntityCallbackInvoker implements org.springframework.data.mapping.callback.EntityCallbackInvoker { + static class SimpleEntityCallbackInvoker implements EntityCallbackInvoker { @Override public T invokeCallback(EntityCallback callback, T entity, diff --git a/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallback.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallback.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/EntityCallback.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallback.java diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java diff --git a/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbackInvoker.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbackInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbackInvoker.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbackInvoker.java diff --git a/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java diff --git a/src/main/java/org/springframework/data/mapping/callback/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/callback/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/callback/package-info.java diff --git a/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java diff --git a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java diff --git a/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java diff --git a/src/main/java/org/springframework/data/mapping/context/MappingContext.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/MappingContext.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/MappingContext.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/MappingContext.java diff --git a/src/main/java/org/springframework/data/mapping/context/MappingContextEvent.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/MappingContextEvent.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/MappingContextEvent.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/MappingContextEvent.java diff --git a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java similarity index 98% rename from src/main/java/org/springframework/data/mapping/context/PersistentEntities.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java index 253c119f94..740a288502 100644 --- a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java @@ -105,7 +105,7 @@ public static PersistentEntities of(MappingContext... contexts) { * * @param type must not be {@literal null}. * @return the {@link PersistentEntity} for the given domain type. - * @throws org.springframework.data.mapping.MappingException if the {@link PersistentEntity} cannot be found or + * @throws MappingException if the {@link PersistentEntity} cannot be found or * {@link MappingContext#getPersistentEntity(Class) created} by the underlying {@link MappingContext}. * @see MappingContext#getRequiredPersistentEntity(Class) */ diff --git a/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java diff --git a/src/main/java/org/springframework/data/mapping/context/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/context/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/context/package-info.java diff --git a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java diff --git a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java similarity index 98% rename from src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java index 0bd4a7e402..7ef99a675a 100644 --- a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java @@ -178,7 +178,7 @@ private void validateAnnotation(Annotation candidate, String message, Object... * Inspects a potentially available {@link Value} annotation at the property and returns the {@link String} value of * it. * - * @see org.springframework.data.mapping.model.AbstractPersistentProperty#getSpelExpression() + * @see AbstractPersistentProperty#getSpelExpression() */ @Override public @Nullable String getSpelExpression() { @@ -189,7 +189,7 @@ private void validateAnnotation(Annotation candidate, String message, Object... * Considers plain transient fields, fields annotated with {@link Transient}, {@link Value} or {@link Autowired} as * transient. * - * @see org.springframework.data.mapping.PersistentProperty#isTransient() + * @see PersistentProperty#isTransient() */ @Override public boolean isTransient() { diff --git a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java diff --git a/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/BeanWrapper.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java diff --git a/src/main/java/org/springframework/data/mapping/model/BeanWrapperPropertyAccessorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BeanWrapperPropertyAccessorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/BeanWrapperPropertyAccessorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BeanWrapperPropertyAccessorFactory.java diff --git a/src/main/java/org/springframework/data/mapping/model/BytecodeUtil.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BytecodeUtil.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/BytecodeUtil.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/BytecodeUtil.java diff --git a/src/main/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactory.java diff --git a/src/main/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java diff --git a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java similarity index 99% rename from src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java index 0e6047d7aa..fdbb619716 100644 --- a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java @@ -1133,7 +1133,7 @@ private static void visitKotlinCopy(PersistentEntity entity, PersistentPro // PersonWithId.copy$default..(bean, object, MASK, null) mv.visitVarInsn(ALOAD, 3); - KotlinCopyMethod.KotlinCopyByProperty copyByProperty = kotlinCopyMethod.forProperty(property) + KotlinCopyByProperty copyByProperty = kotlinCopyMethod.forProperty(property) .orElseThrow(() -> new IllegalStateException( String.format("No usable .copy(…) method found for property %s", property))); diff --git a/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/model/EntityInstantiator.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/EntityInstantiator.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/EntityInstantiator.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/EntityInstantiator.java diff --git a/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java diff --git a/src/main/java/org/springframework/data/mapping/model/FieldNamingStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/FieldNamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/FieldNamingStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/FieldNamingStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscoverer.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscoverer.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscoverer.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscoverer.java diff --git a/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessorFactory.java diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/KotlinValueUtils.java diff --git a/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java diff --git a/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java diff --git a/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java diff --git a/src/main/java/org/springframework/data/mapping/model/PersistableIdentifierAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistableIdentifierAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PersistableIdentifierAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistableIdentifierAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentPropertyAccessorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentPropertyAccessorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PersistentPropertyAccessorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PersistentPropertyAccessorFactory.java diff --git a/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java diff --git a/src/main/java/org/springframework/data/mapping/model/Property.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/Property.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/Property.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/Property.java diff --git a/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PropertyNameFieldNamingStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/PropertyValueProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PropertyValueProvider.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/PropertyValueProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/PropertyValueProvider.java diff --git a/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java diff --git a/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java diff --git a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java diff --git a/src/main/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategy.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategy.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategy.java diff --git a/src/main/java/org/springframework/data/mapping/model/SpELContext.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SpELContext.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/SpELContext.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/SpELContext.java diff --git a/src/main/java/org/springframework/data/mapping/model/ValueExpressionEvaluator.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ValueExpressionEvaluator.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ValueExpressionEvaluator.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ValueExpressionEvaluator.java diff --git a/src/main/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProvider.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProvider.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProvider.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProvider.java diff --git a/src/main/java/org/springframework/data/mapping/model/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/model/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/model/package-info.java diff --git a/src/main/java/org/springframework/data/mapping/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/mapping/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/mapping/package-info.java diff --git a/src/main/java/org/springframework/data/projection/Accessor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/Accessor.java similarity index 100% rename from src/main/java/org/springframework/data/projection/Accessor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/Accessor.java diff --git a/src/main/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java similarity index 100% rename from src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java diff --git a/src/main/java/org/springframework/data/projection/EntityProjection.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/EntityProjection.java similarity index 100% rename from src/main/java/org/springframework/data/projection/EntityProjection.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/EntityProjection.java diff --git a/src/main/java/org/springframework/data/projection/EntityProjectionIntrospector.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/EntityProjectionIntrospector.java similarity index 100% rename from src/main/java/org/springframework/data/projection/EntityProjectionIntrospector.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/EntityProjectionIntrospector.java diff --git a/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/projection/MethodInterceptorFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/MethodInterceptorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/projection/MethodInterceptorFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/MethodInterceptorFactory.java diff --git a/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/projection/ProjectionFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectionFactory.java similarity index 100% rename from src/main/java/org/springframework/data/projection/ProjectionFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectionFactory.java diff --git a/src/main/java/org/springframework/data/projection/ProjectionInformation.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectionInformation.java similarity index 100% rename from src/main/java/org/springframework/data/projection/ProjectionInformation.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProjectionInformation.java diff --git a/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java similarity index 99% rename from src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java index db8d5b16b5..e21b2c8f54 100644 --- a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java @@ -24,7 +24,6 @@ import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; - import org.jspecify.annotations.Nullable; import org.springframework.aop.framework.Advised; diff --git a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java similarity index 100% rename from src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java diff --git a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java similarity index 99% rename from src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java index f677812eeb..6ccc1881b8 100644 --- a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java +++ b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java @@ -195,7 +195,7 @@ public int hashCode() { @Override public String toString() { return "SpelEvaluatingMethodInterceptor.TargetWrapper(target=" + this.getTarget() + ", args=" - + java.util.Arrays.deepToString(this.getArgs()) + ")"; + + Arrays.deepToString(this.getArgs()) + ")"; } } } diff --git a/src/main/java/org/springframework/data/projection/TargetAware.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/TargetAware.java similarity index 100% rename from src/main/java/org/springframework/data/projection/TargetAware.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/TargetAware.java diff --git a/src/main/java/org/springframework/data/projection/package-info.java b/spring-data-commons-mapping/src/main/java/org/springframework/data/projection/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/projection/package-info.java rename to spring-data-commons-mapping/src/main/java/org/springframework/data/projection/package-info.java diff --git a/src/main/kotlin/org/springframework/data/mapping/KPropertyPath.kt b/spring-data-commons-mapping/src/main/kotlin/org/springframework/data/mapping/KPropertyPath.kt similarity index 100% rename from src/main/kotlin/org/springframework/data/mapping/KPropertyPath.kt rename to spring-data-commons-mapping/src/main/kotlin/org/springframework/data/mapping/KPropertyPath.kt diff --git a/src/main/kotlin/org/springframework/data/mapping/KPropertyPathExtensions.kt b/spring-data-commons-mapping/src/main/kotlin/org/springframework/data/mapping/KPropertyPathExtensions.kt similarity index 100% rename from src/main/kotlin/org/springframework/data/mapping/KPropertyPathExtensions.kt rename to spring-data-commons-mapping/src/main/kotlin/org/springframework/data/mapping/KPropertyPathExtensions.kt diff --git a/spring-data-commons-mapping/src/main/resources/META-INF/spring/aot.factories b/spring-data-commons-mapping/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 0000000000..cd08d9f815 --- /dev/null +++ b/spring-data-commons-mapping/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1,2 @@ +org.springframework.beans.factory.aot.BeanRegistrationAotProcessor=\ + org.springframework.data.auditing.AuditingBeanRegistrationAotProcessor diff --git a/spring-data-commons-mapping/src/test/java/TypeInDefaultPackage.java b/spring-data-commons-mapping/src/test/java/TypeInDefaultPackage.java new file mode 100644 index 0000000000..e1efe5ae27 --- /dev/null +++ b/spring-data-commons-mapping/src/test/java/TypeInDefaultPackage.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Dummy type to be able to reference the default package. + * + * @author Oliver Gierke + */ +public class TypeInDefaultPackage { + +} diff --git a/src/test/java/example/NoNullableMarkedInterface.java b/spring-data-commons-mapping/src/test/java/example/NoNullableMarkedInterface.java similarity index 100% rename from src/test/java/example/NoNullableMarkedInterface.java rename to spring-data-commons-mapping/src/test/java/example/NoNullableMarkedInterface.java diff --git a/src/test/java/org/springframework/data/auditing/AnnotatedUser.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AnnotatedUser.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/AnnotatedUser.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AnnotatedUser.java diff --git a/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java index 7a87796a82..e5054a60c4 100755 --- a/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java @@ -24,7 +24,7 @@ import org.springframework.util.ReflectionUtils; /** - * Unit test for {@link org.springframework.data.auditing.AnnotationAuditingMetadata}. + * Unit test for {@link AnnotationAuditingMetadata}. * * @author Ranie Jade Ramiso * @author Oliver Gierke diff --git a/src/test/java/org/springframework/data/auditing/AuditedUser.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditedUser.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/AuditedUser.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditedUser.java diff --git a/src/test/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessorUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessorUnitTests.java index f8cfefeded..ae845704ba 100644 --- a/src/test/java/org/springframework/data/aot/AuditingBeanRegistrationAotProcessorUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditingBeanRegistrationAotProcessorUnitTests.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot; +package org.springframework.data.auditing; import static org.assertj.core.api.Assertions.*; -import static org.springframework.data.aot.BeanRegistrationContributionAssert.*; +import static org.springframework.data.test.aot.BeanRegistrationContributionAssert.*; import reactor.core.publisher.Mono; diff --git a/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/AuditorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/EnableAuditing.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/EnableAuditing.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/EnableAuditing.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/EnableAuditing.java diff --git a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/Jsr310AuditedUser.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/Jsr310AuditedUser.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/Jsr310AuditedUser.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/Jsr310AuditedUser.java diff --git a/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java diff --git a/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/DtoInstantiatingConverterUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/DtoInstantiatingConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/DtoInstantiatingConverterUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/DtoInstantiatingConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/PropertyValueConverterFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/PropertyValueConverterFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/PropertyValueConverterFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/PropertyValueConverterFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/PropertyValueConverterRegistrarUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/PropertyValueConverterRegistrarUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/PropertyValueConverterRegistrarUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/PropertyValueConverterRegistrarUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/SimplePropertyValueConversionsUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimplePropertyValueConversionsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/SimplePropertyValueConversionsUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimplePropertyValueConversionsUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/SimplePropertyValueConverterRegistryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimplePropertyValueConverterRegistryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/convert/SimplePropertyValueConverterRegistryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimplePropertyValueConverterRegistryUnitTests.java diff --git a/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java index 5283d0cbc7..55f97a47b9 100755 --- a/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java @@ -18,8 +18,9 @@ import static org.assertj.core.api.Assertions.*; import org.junit.jupiter.api.Test; -import org.springframework.data.classloadersupport.HidingClassLoader; + import org.springframework.data.mapping.Alias; +import org.springframework.data.test.classloadersupport.HidingClassLoader; import org.springframework.data.util.TypeInformation; /** diff --git a/src/test/java/org/springframework/data/mapping/Child.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Child.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/Child.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Child.java diff --git a/src/test/java/org/springframework/data/mapping/Document.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Document.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/Document.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Document.java diff --git a/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/KotlinModelTypes.kt b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/KotlinModelTypes.kt similarity index 100% rename from src/test/java/org/springframework/data/mapping/KotlinModelTypes.kt rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/KotlinModelTypes.kt diff --git a/src/test/java/org/springframework/data/mapping/MappingMetadataTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/MappingMetadataTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/MappingMetadataTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/MappingMetadataTests.java diff --git a/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/ParameterUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java diff --git a/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/Person.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Person.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/Person.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/Person.java diff --git a/src/test/java/org/springframework/data/mapping/PersonDocument.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonDocument.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersonDocument.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonDocument.java diff --git a/src/test/java/org/springframework/data/mapping/PersonNoId.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonNoId.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersonNoId.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonNoId.java diff --git a/src/test/java/org/springframework/data/mapping/PersonPersistent.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonPersistent.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersonPersistent.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonPersistent.java diff --git a/src/test/java/org/springframework/data/mapping/PersonWithChildren.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonWithChildren.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersonWithChildren.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonWithChildren.java diff --git a/src/test/java/org/springframework/data/mapping/PersonWithId.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonWithId.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PersonWithId.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PersonWithId.java diff --git a/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/callback/CapturingEntityCallback.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/CapturingEntityCallback.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/callback/CapturingEntityCallback.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/CapturingEntityCallback.java diff --git a/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/EntityProjectionIntrospectorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/EntityProjectionIntrospectorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/EntityProjectionIntrospectorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/EntityProjectionIntrospectorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java similarity index 94% rename from src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java index cff1c35f1d..5d7327e9cd 100644 --- a/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java @@ -17,12 +17,13 @@ import static org.assertj.core.api.Assertions.*; -import jakarta.inject.Inject; - +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.List; import java.util.Map; import org.junit.jupiter.api.Test; + import org.springframework.data.annotation.Reference; import org.springframework.data.mapping.MappingException; import org.springframework.data.mapping.PersistentPropertyPath; @@ -103,7 +104,7 @@ void cachesFailingPropertyPathLookup() { void findsNestedPropertyByFilter() { PersistentPropertyPaths paths = factory.from(Sample.class, - property -> property.findAnnotation(Inject.class) != null); + property -> property.findAnnotation(MyAnnotation.class) != null); assertThat(paths).hasSize(1).anySatisfy(it -> it.toDotPath().equals("inner.annotatedField")); } @@ -112,7 +113,7 @@ void findsNestedPropertyByFilter() { void findsNestedPropertiesByFilter() { PersistentPropertyPaths paths = factory.from(Wrapper.class, - property -> property.findAnnotation(Inject.class) != null); + property -> property.findAnnotation(MyAnnotation.class) != null); assertThat(paths).hasSize(2);// assertThat(paths).element(0).satisfies(it -> it.toDotPath().equals("first.inner.annotatedField")); @@ -166,8 +167,7 @@ void returnsEmptyPropertyPathsIfNoneSelected() { @Test // DATACMNS-1275 void returnsShortestPathFirst() { - var paths = factory.from(First.class, it -> !it.isEntity(), - it -> true); + var paths = factory.from(First.class, it -> !it.isEntity(), it -> true); assertThat(paths.contains("second.firstname")).isTrue(); assertThat(paths.getFirst()) // @@ -192,7 +192,7 @@ static class Sample { } static class Inner { - @Inject String annotatedField; + @MyAnnotation String annotatedField; Sample cyclic; } @@ -220,4 +220,9 @@ static class Second { static class Third { String lastname; } + + @Retention(RetentionPolicy.RUNTIME) + @interface MyAnnotation { + + } } diff --git a/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java diff --git a/src/test/java/org/springframework/data/mapping/context/SamplePersistentProperty.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/SamplePersistentProperty.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/context/SamplePersistentProperty.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/context/SamplePersistentProperty.java diff --git a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java index dde6155ec0..5af7a374cd 100755 --- a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java @@ -246,7 +246,7 @@ public void composedAnnotationWithAliasShouldHaveSynthesizedAttributeValues() { assertThat(entity.getPersistentProperty("metaAliased")) .satisfies(property -> assertThat(property.findAnnotation(MyAnnotation.class)) - .satisfies(annotation -> assertThat(AnnotationUtils.getValue(annotation)).isEqualTo("spring"))); + .satisfies(annotation -> assertThat(AnnotationUtils.getValue(annotation)).isEqualTo("META-INF/spring"))); } @Test // DATACMNS-867 @@ -468,7 +468,7 @@ public String getProperty() { public @interface MyComposedAnnotationUsingAliasFor { @AliasFor(annotation = MyAnnotation.class, attribute = "value") - String name() default "spring"; + String name() default "META-INF/spring"; } @Retention(RetentionPolicy.RUNTIME) diff --git a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/CachingValueExpressionEvaluatorFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/CamelCaseAbbreviatingFieldNamingStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java index ee9e5ff6a4..dfe90add08 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java @@ -32,13 +32,13 @@ import org.mockito.quality.Strictness; import org.springframework.data.annotation.PersistenceCreator; -import org.springframework.data.classloadersupport.HidingClassLoader; import org.springframework.data.mapping.Parameter; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PreferredConstructor; import org.springframework.data.mapping.model.ClassGeneratingEntityInstantiator.ObjectInstantiator; import org.springframework.data.mapping.model.ClassGeneratingEntityInstantiatorUnitTests.Outer.Inner; +import org.springframework.data.test.classloadersupport.HidingClassLoader; import org.springframework.data.util.TypeInformation; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.util.ReflectionUtils; diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java similarity index 82% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java index c4a44966a0..18c8f47e2f 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java @@ -17,16 +17,14 @@ import static org.assertj.core.api.Assertions.*; -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.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; -import org.springframework.data.repository.core.EntityInformation; -import org.springframework.data.repository.core.support.PersistentEntityInformation; /** * Unit tests for {@link ClassGeneratingPropertyAccessorFactory} covering interface and concrete class entity types. @@ -44,7 +42,7 @@ void getIdentifierOfInterfaceBasedEntity() { Algorithm quickSort = new QuickSort(); - assertThat(getEntityInformation(Algorithm.class).getId(quickSort)).isEqualTo(quickSort.getName()); + assertThat(getIdentifier(Algorithm.class, quickSort)).isEqualTo(quickSort.getName()); } @Test // DATACMNS-853 @@ -52,7 +50,7 @@ void getIdentifierOfClassBasedEntity() { var jonDoe = new Person("JonDoe"); - assertThat(getEntityInformation(Person.class).getId(jonDoe)).isEqualTo(jonDoe.name); + assertThat(getIdentifier(Person.class, jonDoe)).isEqualTo(jonDoe.name); } @Test // #2324 @@ -66,10 +64,11 @@ void shouldGeneratePropertyAccessorForKotlinClassWithMultipleCopyMethods() { assertThat(propertyAccessor).isNotNull(); } - private EntityInformation getEntityInformation(Class type) { + private Object getIdentifier(Class type, Object object) { PersistentEntity entity = mappingContext.getRequiredPersistentEntity(type); - return new PersistentEntityInformation<>(entity); + + return entity.getIdentifierAccessor(object).getIdentifier(); } interface Algorithm { diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPackageDefaultType.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPackageDefaultType.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPackageDefaultType.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPackageDefaultType.java diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPublicType.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPublicType.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPublicType.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorPublicType.java diff --git a/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/EntityCreatorMetadataDiscovererUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/EntityCreatorMetadataDiscovererUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/EntityCreatorMetadataDiscovererUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/EntityCreatorMetadataDiscovererUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/FactoryMethodUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/FactoryMethodUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/FactoryMethodUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/FactoryMethodUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscovererUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscovererUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscovererUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/InstanceCreatorMetadataDiscovererUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/KotlinPropertyAccessorFactoryTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/KotlinPropertyAccessorFactoryTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/KotlinPropertyAccessorFactoryTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/KotlinPropertyAccessorFactoryTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java similarity index 99% rename from src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java index dc842f9192..34043b048c 100644 --- a/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java @@ -25,10 +25,11 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import org.springframework.data.classloadersupport.HidingClassLoader; + import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; +import org.springframework.data.test.classloadersupport.HidingClassLoader; import org.springframework.util.Assert; /** diff --git a/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategyUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategyUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/SnakeCaseFieldNamingStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProviderUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProviderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProviderUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/ValueExpressionParameterValueProviderUnitTests.java diff --git a/src/test/java/org/springframework/data/mapping/model/subpackage/TypeInOtherPackage.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/subpackage/TypeInOtherPackage.java similarity index 100% rename from src/test/java/org/springframework/data/mapping/model/subpackage/TypeInOtherPackage.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/mapping/model/subpackage/TypeInOtherPackage.java diff --git a/src/test/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/DefaultMethodInvokingMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/DefaultProjectionInformationUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/DefaultProjectionInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/DefaultProjectionInformationUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/DefaultProjectionInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java index 5ffa62b5e8..3d8b9e5168 100755 --- a/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java @@ -19,11 +19,12 @@ import org.junit.jupiter.api.Test; +import org.springframework.lang.Nullable; + import com.fasterxml.jackson.databind.ObjectMapper; import com.jayway.jsonpath.Configuration.ConfigurationBuilder; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; -import org.springframework.lang.Nullable; /** * Integration tests for projections. diff --git a/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java rename to spring-data-commons-mapping/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java diff --git a/src/test/kotlin/org/springframework/data/mapping/KPropertyPathTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/KPropertyPathTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/KPropertyPathTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/KPropertyPathTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/context/SimpleDataClass.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/context/SimpleDataClass.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/context/SimpleDataClass.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/context/SimpleDataClass.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/context/TypeCreatingSyntheticClass.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/context/TypeCreatingSyntheticClass.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/context/TypeCreatingSyntheticClass.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/context/TypeCreatingSyntheticClass.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/DataClasses.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/DataClasses.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/DataClasses.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/DataClasses.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/InlineClasses.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/InlineClasses.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/InlineClasses.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/InlineClasses.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiatorUnitTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiatorUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiatorUnitTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiatorUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/KotlinValueUtilsUnitTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/KotlinValueUtilsUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/KotlinValueUtilsUnitTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/KotlinValueUtilsUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/PreferredConstructorDiscovererUnitTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/PreferredConstructorDiscovererUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/PreferredConstructorDiscovererUnitTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/PreferredConstructorDiscovererUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorDataClassUnitTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorDataClassUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorDataClassUnitTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorDataClassUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorInlineClassUnitTests.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorInlineClassUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorInlineClassUnitTests.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ReflectionEntityInstantiatorInlineClassUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/TypeCreatingSyntheticClass.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/TypeCreatingSyntheticClass.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/TypeCreatingSyntheticClass.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/TypeCreatingSyntheticClass.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/UnusedCustomCopy.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/UnusedCustomCopy.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/UnusedCustomCopy.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/UnusedCustomCopy.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/ValueClassKt.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ValueClassKt.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/ValueClassKt.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/ValueClassKt.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/With32Args.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/With32Args.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/With32Args.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/With32Args.kt diff --git a/src/test/kotlin/org/springframework/data/mapping/model/With33Args.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/With33Args.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/mapping/model/With33Args.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/mapping/model/With33Args.kt diff --git a/src/test/kotlin/org/springframework/data/projection/Entities.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/Entities.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/projection/Entities.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/Entities.kt diff --git a/src/test/kotlin/org/springframework/data/projection/Person.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/Person.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/projection/Person.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/Person.kt diff --git a/src/test/kotlin/org/springframework/data/projection/WithIsNamedProperty.kt b/spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/WithIsNamedProperty.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/projection/WithIsNamedProperty.kt rename to spring-data-commons-mapping/src/test/kotlin/org/springframework/data/projection/WithIsNamedProperty.kt diff --git a/spring-data-commons-mapping/src/test/resources/logback.xml b/spring-data-commons-mapping/src/test/resources/logback.xml new file mode 100644 index 0000000000..0360cb8e14 --- /dev/null +++ b/spring-data-commons-mapping/src/test/resources/logback.xml @@ -0,0 +1,29 @@ + + + + + + + %d %5p %40.40c:%4L - %m%n + + + + + + + + diff --git a/spring-data-commons-repository/pom.xml b/spring-data-commons-repository/pom.xml new file mode 100644 index 0000000000..bd3ea422a0 --- /dev/null +++ b/spring-data-commons-repository/pom.xml @@ -0,0 +1,223 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-commons-repository + 4.0.0-SNAPSHOT + + Spring Data Commons Repository + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-mapping + ${project.version} + + + + org.springframework.data + spring-data-commons-test + ${project.version} + test + + + + org.springframework + spring-context + true + + + + org.springframework + spring-tx + true + + + + org.springframework + spring-oxm + true + + + + org.springframework + spring-core-test + test + + + + com.fasterxml.jackson.core + jackson-databind + true + + + + tools.jackson.core + jackson-databind + true + + + + + org.scala-lang + scala-library + ${scala} + true + + + + com.google.guava + guava + ${guava} + true + + + + io.vavr + vavr + ${vavr} + true + + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api} + true + + + + jakarta.transaction + jakarta.transaction-api + test + + + + + jakarta.inject + jakarta.inject-api + 2.0.1 + true + + + + com.google.code.findbugs + jsr305 + test + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + io.reactivex.rxjava3 + rxjava + ${rxjava3} + true + + + + io.smallrye.reactive + mutiny + ${smallrye-mutiny} + true + + + + + org.jetbrains.kotlin + kotlin-stdlib + true + + + + org.jetbrains.kotlin + kotlin-reflect + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-core + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactive + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactor + true + + + + org.jetbrains.kotlin + kotlin-test-junit5 + ${kotlin} + test + + + + io.mockk + mockk-jvm + ${mockk} + test + + + + + org.eclipse.collections + eclipse-collections-api + ${eclipse-collections} + test + + + + org.eclipse.collections + eclipse-collections + ${eclipse-collections} + test + + + + com.sun.xml.bind + jaxb-impl + test + + + + com.tngtech.archunit + archunit + ${archunit} + test + + + + + diff --git a/src/main/java/org/springframework/data/repository/CrudRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/CrudRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/CrudRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/CrudRepository.java diff --git a/src/main/java/org/springframework/data/repository/ListCrudRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/ListCrudRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/ListCrudRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/ListCrudRepository.java diff --git a/src/main/java/org/springframework/data/repository/ListPagingAndSortingRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/ListPagingAndSortingRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/ListPagingAndSortingRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/ListPagingAndSortingRepository.java diff --git a/src/main/java/org/springframework/data/repository/NoRepositoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/NoRepositoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/NoRepositoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/NoRepositoryBean.java diff --git a/src/main/java/org/springframework/data/repository/PagingAndSortingRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/PagingAndSortingRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/PagingAndSortingRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/PagingAndSortingRepository.java diff --git a/src/main/java/org/springframework/data/repository/Repository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/Repository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/Repository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/Repository.java diff --git a/src/main/java/org/springframework/data/repository/RepositoryDefinition.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/RepositoryDefinition.java similarity index 100% rename from src/main/java/org/springframework/data/repository/RepositoryDefinition.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/RepositoryDefinition.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotFragmentTarget.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotFragmentTarget.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotFragmentTarget.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotFragmentTarget.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecorator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecorator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecorator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecorator.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryClassBuilder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryClassBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryClassBuilder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryClassBuilder.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryCreator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryCreator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryCreator.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryFragmentMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryFragmentMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryFragmentMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryFragmentMetadata.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java similarity index 94% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java index 04c1f9556f..b04f67afb3 100644 --- a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMetadata.java @@ -26,7 +26,7 @@ * @since 4.0 */ record AotRepositoryMetadata(String name, @Nullable String module, - org.springframework.data.repository.aot.generate.AotRepositoryMetadata.RepositoryType type, + RepositoryType type, List methods) { enum RepositoryType { diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethod.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethod.java similarity index 100% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethod.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethod.java diff --git a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java similarity index 88% rename from src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java index 49e6bce7c6..eeb0f122ab 100644 --- a/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilder.java @@ -49,8 +49,8 @@ class AotRepositoryMethodBuilder { } /** - * Register a {@link org.springframework.data.repository.aot.generate.MethodContributor.RepositoryMethodContribution} - * for the repository interface that can contribute a query method implementation block. + * Register a {@link MethodContributor.RepositoryMethodContribution} for the repository interface that can contribute + * a query method implementation block. * * @param contribution * @return @@ -62,7 +62,7 @@ public AotRepositoryMethodBuilder contribute(Function getBasePackages() { /** * @return {@link RepositoryInformation metadata} about the repository itself. - * @see org.springframework.data.repository.core.RepositoryInformation + * @see RepositoryInformation */ RepositoryInformation getRepositoryInformation(); /** * @return all {@link MergedAnnotation annotations} reachable from the repository. - * @see org.springframework.core.annotation.MergedAnnotation + * @see MergedAnnotation */ Set> getResolvedAnnotations(); diff --git a/src/main/java/org/springframework/data/repository/config/AotRepositoryInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/AotRepositoryInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/AotRepositoryInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/AotRepositoryInformation.java diff --git a/src/main/java/org/springframework/data/repository/config/BootstrapMode.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/BootstrapMode.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/BootstrapMode.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/BootstrapMode.java diff --git a/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java diff --git a/src/main/java/org/springframework/data/repository/config/DefaultAotRepositoryContext.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultAotRepositoryContext.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/DefaultAotRepositoryContext.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultAotRepositoryContext.java diff --git a/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryBaseClass.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultRepositoryBaseClass.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/DefaultRepositoryBaseClass.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultRepositoryBaseClass.java diff --git a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java diff --git a/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/FragmentMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java diff --git a/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/ImplementationLookupConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ImplementationLookupConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/ImplementationLookupConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ImplementationLookupConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java diff --git a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java diff --git a/src/main/java/org/springframework/data/repository/config/PersistentEntitiesFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/PersistentEntitiesFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/PersistentEntitiesFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/PersistentEntitiesFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/config/PropertiesBasedNamedQueriesFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/PropertiesBasedNamedQueriesFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/PropertiesBasedNamedQueriesFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/PropertiesBasedNamedQueriesFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReader.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java similarity index 95% rename from src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java index 837dd081d9..04c0724efd 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java @@ -57,8 +57,7 @@ public void setEnvironment(Environment environment) { * backwards compatibility reasons so that tests in downstream modules do not accidentally invoke the super type's * default implementation. * - * @see org.springframework.context.annotation.ImportBeanDefinitionRegistrar#registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata, - * org.springframework.beans.factory.support.BeanDefinitionRegistry) + * @see ImportBeanDefinitionRegistrar#registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) * @deprecated since 2.2, call * {@link #registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry, BeanNameGenerator)} * instead. diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java similarity index 97% rename from src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java index c7538b3ff6..00f6095a92 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java @@ -160,8 +160,8 @@ private static boolean isGenericRepositoryInterface(@Nullable String interfaceNa } /** - * {@link org.springframework.core.type.filter.TypeFilter} that only matches interfaces. Thus setting this up makes - * only sense providing an interface type as {@code targetType}. + * {@link TypeFilter} that only matches interfaces. Thus setting this up makes only sense providing an interface type + * as {@code targetType}. * * @author Oliver Gierke */ diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationAdapter.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationAdapter.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationAdapter.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java similarity index 99% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java index bff995153f..d66131fa56 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java @@ -135,8 +135,8 @@ private static Environment defaultEnvironment(@Nullable Environment environment, * @param registry {@link BeanDefinitionRegistry} in which to register the repository bean. * @param extension {@link RepositoryConfigurationExtension} for the module. * @return {@link BeanComponentDefinition}s for all repository bean definitions found. - * @see org.springframework.data.repository.config.RepositoryConfigurationExtension - * @see org.springframework.beans.factory.support.BeanDefinitionRegistry + * @see RepositoryConfigurationExtension + * @see BeanDefinitionRegistry */ public List registerRepositoriesIn(BeanDefinitionRegistry registry, RepositoryConfigurationExtension extension) { diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java similarity index 98% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java index db98d790b9..48cd6ebc4a 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtension.java @@ -59,7 +59,7 @@ default String getModuleIdentifier() { * * @return the {@link BeanRegistrationAotProcessor} type responsible for contributing AOT/native configuration. * Defaults to {@link RepositoryRegistrationAotProcessor}. Must not be {@literal null}. - * @see org.springframework.beans.factory.aot.BeanRegistrationAotProcessor + * @see BeanRegistrationAotProcessor * @since 3.0 */ default Class getRepositoryAotProcessor() { diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSource.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSource.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSource.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSource.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationProvider.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationProvider.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationProvider.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationProvider.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryNameSpaceHandler.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryNameSpaceHandler.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/RepositoryNameSpaceHandler.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryNameSpaceHandler.java diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java similarity index 98% rename from src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java index bd2abb6706..066ddc733a 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotContribution.java @@ -51,7 +51,6 @@ import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.RepositoryFragment; import org.springframework.data.util.Predicates; -import org.springframework.data.util.QTypeContributor; import org.springframework.data.util.TypeContributor; import org.springframework.data.util.TypeUtils; import org.springframework.javapoet.CodeBlock; @@ -272,8 +271,10 @@ private void contributeRepositoryInfo(AotRepositoryContext repositoryContext, Ge .withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_PUBLIC_METHODS)); TypeContributor.contribute(repositoryInformation.getDomainType(), contribution); - QTypeContributor.contributeEntityPath(repositoryInformation.getDomainType(), contribution, - repositoryContext.getClassLoader()); + + // TODO SPLIT + // QTypeContributor.contributeEntityPath(repositoryInformation.getDomainType(), contribution, + // repositoryContext.getClassLoader()); // Repository Fragments for (RepositoryFragment fragment : getRepositoryInformation().getFragments()) { diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java similarity index 98% rename from src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java index 4fbb086106..87f5401ff0 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/RepositoryRegistrationAotProcessor.java @@ -65,7 +65,7 @@ * {@link Annotation annotations} from the {@literal org.springframework.data} namespace. *

* The processor is typically configured via {@link RepositoryConfigurationExtension#getRepositoryAotProcessor()} and - * gets added by the {@link org.springframework.data.repository.config.RepositoryConfigurationDelegate}. + * gets added by the {@link RepositoryConfigurationDelegate}. * * @author Christoph Strobl * @author John Blum diff --git a/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java diff --git a/src/main/java/org/springframework/data/repository/config/SelectionSet.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/SelectionSet.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/SelectionSet.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/SelectionSet.java diff --git a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java diff --git a/src/main/java/org/springframework/data/repository/config/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/config/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/config/package-info.java diff --git a/src/main/java/org/springframework/data/repository/core/CrudMethods.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/CrudMethods.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/CrudMethods.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/CrudMethods.java diff --git a/src/main/java/org/springframework/data/repository/core/EntityInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/EntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/EntityInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/EntityInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/EntityMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/EntityMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/EntityMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/EntityMetadata.java diff --git a/src/main/java/org/springframework/data/repository/core/NamedQueries.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/NamedQueries.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/NamedQueries.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/NamedQueries.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryCreationException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryCreationException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryCreationException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryCreationException.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryInformationSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryInformationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryInformationSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryInformationSupport.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMetadata.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryMethodContext.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMethodContext.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryMethodContext.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMethodContext.java diff --git a/src/main/java/org/springframework/data/repository/core/RepositoryMethodContextHolder.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMethodContextHolder.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/RepositoryMethodContextHolder.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/RepositoryMethodContextHolder.java diff --git a/src/main/java/org/springframework/data/repository/core/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/package-info.java diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java diff --git a/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java index 0bb47c899e..9e666c6d6f 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java @@ -15,9 +15,9 @@ */ package org.springframework.data.repository.core.support; -import java.util.function.Function; import java.util.Collections; import java.util.Set; +import java.util.function.Function; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.data.repository.RepositoryDefinition; diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMethodContext.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMethodContext.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMethodContext.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMethodContext.java diff --git a/src/main/java/org/springframework/data/repository/core/support/DelegatingEntityInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DelegatingEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/DelegatingEntityInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/DelegatingEntityInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/FragmentNotImplementedException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/FragmentNotImplementedException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/FragmentNotImplementedException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/FragmentNotImplementedException.java diff --git a/src/main/java/org/springframework/data/repository/core/support/IncompleteRepositoryCompositionException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/IncompleteRepositoryCompositionException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/IncompleteRepositoryCompositionException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/IncompleteRepositoryCompositionException.java diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/MethodLookup.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java similarity index 99% rename from src/main/java/org/springframework/data/repository/core/support/MethodLookups.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java index 75942a71ca..2b39f9140e 100644 --- a/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java @@ -265,7 +265,7 @@ public List getLookups() { /** * {@link Predicate} to check parameter assignability between a parameters in which the declared parameter may be - * wrapped but supports unwrapping. Usually types like {@link Optional} or {@link java.util.stream.Stream}. + * wrapped but supports unwrapping. Usually types like {@link Optional} or {@link Stream}. * * @param repositoryInterface * @return diff --git a/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java diff --git a/src/main/java/org/springframework/data/repository/core/support/QueryCreationListener.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryCreationListener.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/QueryCreationListener.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryCreationListener.java diff --git a/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java diff --git a/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/ReactiveRepositoryFactorySupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/ReactiveRepositoryFactorySupport.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/ReactiveRepositoryFactorySupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/ReactiveRepositoryFactorySupport.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java similarity index 99% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java index b63d82ce45..d671303c5c 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java @@ -43,7 +43,6 @@ import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.RepositoryComposition.RepositoryFragments; -import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.repository.query.QueryMethod; import org.springframework.data.repository.query.QueryMethodValueEvaluationContextAccessor; @@ -131,7 +130,7 @@ public void setExposeMetadata(boolean exposeMetadata) { } /** - * Set the {@link QueryLookupStrategy.Key} to be used. + * Set the {@link Key} to be used. * * @param queryLookupStrategyKey */ diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryCustomizer.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryCustomizer.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryCustomizer.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryCustomizer.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryInformation.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java similarity index 99% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java index 23446fe951..fa9c2a4bb9 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java @@ -85,7 +85,7 @@ /** * Factory bean to create instances of a given repository interface. Creates a proxy implementing the configured * repository interface and apply an advice handing the control to the {@code QueryExecutorMethodInterceptor}. Query - * detection strategy can be configured by setting {@link QueryLookupStrategy.Key}. + * detection strategy can be configured by setting {@link Key}. * * @author Oliver Gierke * @author Mark Paluch @@ -113,7 +113,7 @@ public abstract class RepositoryFactorySupport private @Nullable Class repositoryBaseClass; private boolean exposeMetadata; - private QueryLookupStrategy.@Nullable Key queryLookupStrategyKey; + private @Nullable Key queryLookupStrategyKey; private final List> queryPostProcessors; private final List methodInvocationListeners; private NamedQueries namedQueries; @@ -131,7 +131,7 @@ public RepositoryFactorySupport() { this.postProcessors = new ArrayList<>(); this.namedQueries = PropertiesBasedNamedQueries.EMPTY; - this.classLoader = org.springframework.util.ClassUtils.getDefaultClassLoader(); + this.classLoader = ClassUtils.getDefaultClassLoader(); this.evaluationContextProvider = QueryMethodValueEvaluationContextAccessor.DEFAULT_CONTEXT_PROVIDER; this.queryPostProcessors = new ArrayList<>(); this.queryPostProcessors.add(collectingListener); @@ -891,7 +891,7 @@ public static void validate(RepositoryComposition composition, Class source, throw new IncompleteRepositoryCompositionException( String.format("You have custom methods in %s but have not provided a custom implementation", - org.springframework.util.ClassUtils.getQualifiedName(repositoryInterface)), + ClassUtils.getQualifiedName(repositoryInterface)), repositoryInterface); } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsContributor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsContributor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsContributor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsContributor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryFragmentsFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryMetadataAccess.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMetadataAccess.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryMetadataAccess.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMetadataAccess.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvocationListener.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvocationListener.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvocationListener.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvocationListener.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryProxyPostProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryProxyPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/RepositoryProxyPostProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/RepositoryProxyPostProcessor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java similarity index 97% rename from src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java index ed77247233..1a42dfd5d0 100644 --- a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java @@ -73,7 +73,7 @@ public void setEnableDefaultTransactions(boolean enableDefaultTransactions) { * Delegates {@link RepositoryFactorySupport} creation to {@link #doCreateRepositoryFactory()} and applies the * {@link TransactionalRepositoryProxyPostProcessor} to the created instance. * - * @see org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport #createRepositoryFactory() + * @see RepositoryFactoryBeanSupport #createRepositoryFactory() */ @Override protected final RepositoryFactorySupport createRepositoryFactory() { diff --git a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java diff --git a/src/main/java/org/springframework/data/repository/core/support/UnsupportedFragmentException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/UnsupportedFragmentException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/UnsupportedFragmentException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/UnsupportedFragmentException.java diff --git a/src/main/java/org/springframework/data/repository/core/support/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/core/support/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/core/support/package-info.java diff --git a/src/main/java/org/springframework/data/repository/history/RevisionRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/RevisionRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/history/RevisionRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/RevisionRepository.java diff --git a/src/main/java/org/springframework/data/repository/history/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/history/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/package-info.java diff --git a/src/main/java/org/springframework/data/repository/history/support/RevisionEntityInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/support/RevisionEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/history/support/RevisionEntityInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/support/RevisionEntityInformation.java diff --git a/src/main/java/org/springframework/data/repository/history/support/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/history/support/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/history/support/package-info.java diff --git a/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/init/Jackson2RepositoryPopulatorFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/Jackson2RepositoryPopulatorFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/Jackson2RepositoryPopulatorFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/Jackson2RepositoryPopulatorFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java diff --git a/src/main/java/org/springframework/data/repository/init/JacksonRepositoryPopulatorFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/JacksonRepositoryPopulatorFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/JacksonRepositoryPopulatorFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/JacksonRepositoryPopulatorFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/init/JacksonResourceReader.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/JacksonResourceReader.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/JacksonResourceReader.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/JacksonResourceReader.java diff --git a/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java diff --git a/src/main/java/org/springframework/data/repository/init/RepositoryPopulator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/RepositoryPopulator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/RepositoryPopulator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/RepositoryPopulator.java diff --git a/src/main/java/org/springframework/data/repository/init/ResourceReader.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/ResourceReader.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/ResourceReader.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/ResourceReader.java diff --git a/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java diff --git a/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java diff --git a/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java diff --git a/src/main/java/org/springframework/data/repository/init/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/init/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/init/package-info.java diff --git a/src/main/java/org/springframework/data/repository/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/package-info.java diff --git a/src/main/java/org/springframework/data/repository/query/CachingValueExpressionDelegate.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/CachingValueExpressionDelegate.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/CachingValueExpressionDelegate.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/CachingValueExpressionDelegate.java diff --git a/src/main/java/org/springframework/data/repository/query/DefaultParameters.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/DefaultParameters.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/DefaultParameters.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/DefaultParameters.java diff --git a/src/main/java/org/springframework/data/repository/query/FluentQuery.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/FluentQuery.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/FluentQuery.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/FluentQuery.java diff --git a/src/main/java/org/springframework/data/repository/query/ListQueryByExampleExecutor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ListQueryByExampleExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ListQueryByExampleExecutor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ListQueryByExampleExecutor.java diff --git a/src/main/java/org/springframework/data/repository/query/Param.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Param.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/Param.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Param.java diff --git a/src/main/java/org/springframework/data/repository/query/Parameter.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameter.java similarity index 98% rename from src/main/java/org/springframework/data/repository/query/Parameter.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameter.java index 0e8048b452..6acee78277 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameter.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameter.java @@ -178,7 +178,7 @@ public boolean isExplicitlyNamed() { * * @return the optional name of the parameter. * @see Param - * @see org.springframework.core.ParameterNameDiscoverer + * @see ParameterNameDiscoverer */ public Optional getName() { return this.name.get(); @@ -192,7 +192,7 @@ public Optional getName() { * @throws IllegalStateException if the parameter has no name. * @since 3.4 * @see Param - * @see org.springframework.core.ParameterNameDiscoverer + * @see ParameterNameDiscoverer */ public String getRequiredName() { diff --git a/src/main/java/org/springframework/data/repository/query/ParameterAccessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParameterAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ParameterAccessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParameterAccessor.java diff --git a/src/main/java/org/springframework/data/repository/query/ParameterOutOfBoundsException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParameterOutOfBoundsException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ParameterOutOfBoundsException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParameterOutOfBoundsException.java diff --git a/src/main/java/org/springframework/data/repository/query/Parameters.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameters.java similarity index 99% rename from src/main/java/org/springframework/data/repository/query/Parameters.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameters.java index 99a0755f8c..760c84c791 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameters.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/Parameters.java @@ -15,7 +15,7 @@ */ package org.springframework.data.repository.query; -import static java.lang.String.format; +import static java.lang.String.*; import java.lang.reflect.Method; import java.util.ArrayList; diff --git a/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java diff --git a/src/main/java/org/springframework/data/repository/query/ParametersSource.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParametersSource.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ParametersSource.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ParametersSource.java diff --git a/src/main/java/org/springframework/data/repository/query/QueryByExampleExecutor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryByExampleExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/QueryByExampleExecutor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryByExampleExecutor.java diff --git a/src/main/java/org/springframework/data/repository/query/QueryCreationException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryCreationException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/QueryCreationException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryCreationException.java diff --git a/src/main/java/org/springframework/data/repository/query/QueryLookupStrategy.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryLookupStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/QueryLookupStrategy.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryLookupStrategy.java diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethod.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethod.java similarity index 97% rename from src/main/java/org/springframework/data/repository/query/QueryMethod.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethod.java index ca3cc74a12..7880e08701 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethod.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethod.java @@ -261,7 +261,7 @@ public boolean isCollectionQuery() { * @since 3.1 */ public boolean isScrollQuery() { - return org.springframework.util.ClassUtils.isAssignable(Window.class, unwrappedReturnType); + return ClassUtils.isAssignable(Window.class, unwrappedReturnType); } /** @@ -271,7 +271,7 @@ public boolean isScrollQuery() { * @since 1.8 */ public boolean isSliceQuery() { - return !isPageQuery() && org.springframework.util.ClassUtils.isAssignable(Slice.class, unwrappedReturnType); + return !isPageQuery() && ClassUtils.isAssignable(Slice.class, unwrappedReturnType); } /** @@ -280,7 +280,7 @@ public boolean isSliceQuery() { * @return */ public final boolean isPageQuery() { - return org.springframework.util.ClassUtils.isAssignable(Page.class, unwrappedReturnType); + return ClassUtils.isAssignable(Page.class, unwrappedReturnType); } /** diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java similarity index 98% rename from src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java index 5b8fa7ee88..c02e026d78 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/QueryMethodValueEvaluationContextAccessor.java @@ -135,9 +135,8 @@ private static EvaluationContextProvider createEvaluationContextProvider( } /** - * Creates a default {@link QueryMethodValueEvaluationContextAccessor} using the - * {@link org.springframework.core.env.StandardEnvironment} and extension-less - * {@link org.springframework.data.spel.EvaluationContextProvider}. + * Creates a default {@link QueryMethodValueEvaluationContextAccessor} using the {@link StandardEnvironment} and + * extension-less {@link org.springframework.data.spel.EvaluationContextProvider}. * * @return a default {@link ValueExpressionDelegate}. */ diff --git a/src/main/java/org/springframework/data/repository/query/ReactiveQueryByExampleExecutor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ReactiveQueryByExampleExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ReactiveQueryByExampleExecutor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ReactiveQueryByExampleExecutor.java diff --git a/src/main/java/org/springframework/data/repository/query/RepositoryQuery.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/RepositoryQuery.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/RepositoryQuery.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/RepositoryQuery.java diff --git a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ResultProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ResultProcessor.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ResultProcessor.java diff --git a/src/main/java/org/springframework/data/repository/query/ReturnedType.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ReturnedType.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ReturnedType.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ReturnedType.java diff --git a/src/main/java/org/springframework/data/repository/query/ValueExpressionDelegate.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ValueExpressionDelegate.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ValueExpressionDelegate.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ValueExpressionDelegate.java diff --git a/src/main/java/org/springframework/data/repository/query/ValueExpressionQueryRewriter.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ValueExpressionQueryRewriter.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/ValueExpressionQueryRewriter.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/ValueExpressionQueryRewriter.java diff --git a/src/main/java/org/springframework/data/repository/query/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/package-info.java diff --git a/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java diff --git a/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java diff --git a/src/main/java/org/springframework/data/repository/query/parser/Part.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/Part.java similarity index 97% rename from src/main/java/org/springframework/data/repository/query/parser/Part.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/Part.java index 26fa80c640..8ff943b92f 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/Part.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/Part.java @@ -43,7 +43,7 @@ public class Part { private static final Pattern IGNORE_CASE = Pattern.compile("Ignor(ing|e)Case"); private final PropertyPath propertyPath; - private final Part.Type type; + private final Type type; private IgnoreCaseType ignoreCase = IgnoreCaseType.NEVER; @@ -117,7 +117,7 @@ public PropertyPath getProperty() { /** * @return the type */ - public Part.Type getType() { + public Type getType() { return type; } @@ -204,7 +204,7 @@ public enum Type { // Need to list them again explicitly as the order is important // (esp. for IS_NULL, IS_NOT_NULL) - private static final List ALL = List.of(IS_NOT_NULL, IS_NULL, BETWEEN, LESS_THAN, LESS_THAN_EQUAL, + private static final List ALL = List.of(IS_NOT_NULL, IS_NULL, BETWEEN, LESS_THAN, LESS_THAN_EQUAL, GREATER_THAN, GREATER_THAN_EQUAL, BEFORE, AFTER, NOT_LIKE, LIKE, STARTING_WITH, ENDING_WITH, IS_NOT_EMPTY, IS_EMPTY, NOT_CONTAINING, CONTAINING, NOT_IN, IN, NEAR, WITHIN, REGEX, EXISTS, TRUE, FALSE, NEGATING_SIMPLE_PROPERTY, SIMPLE_PROPERTY); @@ -247,7 +247,7 @@ private Type(String... keywords) { * @param rawProperty * @return */ - public static Part.Type fromProperty(String rawProperty) { + public static Type fromProperty(String rawProperty) { for (Type type : ALL) { if (type.supports(rawProperty)) { diff --git a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/PartTree.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/parser/PartTree.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/PartTree.java diff --git a/src/main/java/org/springframework/data/repository/query/parser/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/query/parser/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/query/parser/package-info.java diff --git a/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java similarity index 98% rename from src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java index 9c0d8c0728..5c4d17aae0 100644 --- a/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/ReactiveCrudRepository.java @@ -32,8 +32,8 @@ * facilitate events, and any modifying method call may trigger an exception due to failure of optimistic locking. *

* Save and delete operations with entities that have a version attribute trigger an {@code onError} with a - * {@link org.springframework.dao.OptimisticLockingFailureException} when they encounter a different version value in - * the persistence store than in the entity passed as an argument. + * {@link OptimisticLockingFailureException} when they encounter a different version value in the persistence store than + * in the entity passed as an argument. *

* Other delete operations that only receive ids or entities without version attribute do not trigger an error when no * matching data is found in the persistence store. diff --git a/src/main/java/org/springframework/data/repository/reactive/ReactiveSortingRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/ReactiveSortingRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/reactive/ReactiveSortingRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/ReactiveSortingRepository.java diff --git a/src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java similarity index 98% rename from src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java index 1ab85ce655..b09f7959ed 100644 --- a/src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java +++ b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/RxJava3CrudRepository.java @@ -32,8 +32,8 @@ * exception due to failure of optimistic locking. *

* Save and delete operations with entities that have a version attribute trigger an {@code onError} with a - * {@link org.springframework.dao.OptimisticLockingFailureException} when they encounter a different version value in - * the persistence store than in the entity passed as an argument. + * {@link OptimisticLockingFailureException} when they encounter a different version value in the persistence store than + * in the entity passed as an argument. *

* Other delete operations that only receive ids or entities without version attribute do not trigger an error when no * matching data is found in the persistence store. diff --git a/src/main/java/org/springframework/data/repository/reactive/RxJava3SortingRepository.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/RxJava3SortingRepository.java similarity index 100% rename from src/main/java/org/springframework/data/repository/reactive/RxJava3SortingRepository.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/RxJava3SortingRepository.java diff --git a/src/main/java/org/springframework/data/repository/reactive/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/reactive/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/reactive/package-info.java diff --git a/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java diff --git a/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java diff --git a/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java diff --git a/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/DomainClassConverter.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java diff --git a/src/main/java/org/springframework/data/repository/support/MethodParameters.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/MethodParameters.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/MethodParameters.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/MethodParameters.java diff --git a/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java diff --git a/src/main/java/org/springframework/data/repository/support/QueryMethodParameterConversionException.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/QueryMethodParameterConversionException.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/QueryMethodParameterConversionException.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/QueryMethodParameterConversionException.java diff --git a/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java diff --git a/src/main/java/org/springframework/data/repository/support/Repositories.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/Repositories.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/Repositories.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/Repositories.java diff --git a/src/main/java/org/springframework/data/repository/support/RepositoryInvocationInformation.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvocationInformation.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/RepositoryInvocationInformation.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvocationInformation.java diff --git a/src/main/java/org/springframework/data/repository/support/RepositoryInvoker.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvoker.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/RepositoryInvoker.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvoker.java diff --git a/src/main/java/org/springframework/data/repository/support/RepositoryInvokerFactory.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvokerFactory.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/RepositoryInvokerFactory.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/RepositoryInvokerFactory.java diff --git a/src/main/java/org/springframework/data/repository/support/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/support/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/support/package-info.java diff --git a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java similarity index 100% rename from src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java similarity index 100% rename from src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java diff --git a/src/main/java/org/springframework/data/repository/util/TxUtils.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/TxUtils.java similarity index 100% rename from src/main/java/org/springframework/data/repository/util/TxUtils.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/TxUtils.java diff --git a/src/main/java/org/springframework/data/repository/util/package-info.java b/spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/util/package-info.java rename to spring-data-commons-repository/src/main/java/org/springframework/data/repository/util/package-info.java diff --git a/src/main/kotlin/org/springframework/data/repository/CrudRepositoryExtensions.kt b/spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/CrudRepositoryExtensions.kt similarity index 100% rename from src/main/kotlin/org/springframework/data/repository/CrudRepositoryExtensions.kt rename to spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/CrudRepositoryExtensions.kt diff --git a/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepository.kt b/spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepository.kt similarity index 100% rename from src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepository.kt rename to spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepository.kt diff --git a/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineSortingRepository.kt b/spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineSortingRepository.kt similarity index 100% rename from src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineSortingRepository.kt rename to spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/CoroutineSortingRepository.kt diff --git a/src/main/kotlin/org/springframework/data/repository/kotlin/package-info.java b/spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/package-info.java similarity index 100% rename from src/main/kotlin/org/springframework/data/repository/kotlin/package-info.java rename to spring-data-commons-repository/src/main/kotlin/org/springframework/data/repository/kotlin/package-info.java diff --git a/spring-data-commons-repository/src/main/resources/META-INF/spring.handlers b/spring-data-commons-repository/src/main/resources/META-INF/spring.handlers new file mode 100644 index 0000000000..6854244931 --- /dev/null +++ b/spring-data-commons-repository/src/main/resources/META-INF/spring.handlers @@ -0,0 +1 @@ +http\://www.springframework.org/schema/data/repository=org.springframework.data.repository.config.RepositoryNameSpaceHandler diff --git a/src/main/resources/META-INF/spring.schemas b/spring-data-commons-repository/src/main/resources/META-INF/spring.schemas similarity index 100% rename from src/main/resources/META-INF/spring.schemas rename to spring-data-commons-repository/src/main/resources/META-INF/spring.schemas diff --git a/spring-data-commons-repository/src/main/resources/META-INF/spring/aot.factories b/spring-data-commons-repository/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 0000000000..7795b6ff0c --- /dev/null +++ b/spring-data-commons-repository/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=org.springframework.data.repository.aot.hint.RepositoryRuntimeHints diff --git a/spring-data-commons-repository/src/main/resources/license.txt b/spring-data-commons-repository/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons-repository/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons-repository/src/main/resources/notice.txt b/spring-data-commons-repository/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons-repository/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.0.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.0.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.0.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.0.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.11.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.11.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.11.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.11.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.4.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.4.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.4.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.4.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.5.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.5.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.5.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.5.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.6.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.6.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.6.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.6.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.7.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.7.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.7.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.7.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-1.8.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.8.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-1.8.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-1.8.xsd diff --git a/src/main/resources/org/springframework/data/repository/config/spring-repository-2.1.xsd b/spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-2.1.xsd similarity index 100% rename from src/main/resources/org/springframework/data/repository/config/spring-repository-2.1.xsd rename to spring-data-commons-repository/src/main/resources/org/springframework/data/repository/config/spring-repository-2.1.xsd diff --git a/src/test/java/TypeInDefaultPackage.java b/spring-data-commons-repository/src/test/java/TypeInDefaultPackage.java similarity index 99% rename from src/test/java/TypeInDefaultPackage.java rename to spring-data-commons-repository/src/test/java/TypeInDefaultPackage.java index 68f336395f..e5c2b2975f 100644 --- a/src/test/java/TypeInDefaultPackage.java +++ b/spring-data-commons-repository/src/test/java/TypeInDefaultPackage.java @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import org.springframework.data.repository.config.EnableRepositories; /** * Dummy type to be able to reference the default package. * * @author Oliver Gierke */ + +import org.springframework.data.repository.config.EnableRepositories; + @EnableRepositories public class TypeInDefaultPackage { diff --git a/src/test/java/example/SampleInterface.java b/spring-data-commons-repository/src/test/java/example/SampleInterface.java similarity index 100% rename from src/test/java/example/SampleInterface.java rename to spring-data-commons-repository/src/test/java/example/SampleInterface.java diff --git a/src/test/java/example/UserRepository.java b/spring-data-commons-repository/src/test/java/example/UserRepository.java similarity index 100% rename from src/test/java/example/UserRepository.java rename to spring-data-commons-repository/src/test/java/example/UserRepository.java diff --git a/src/test/java/example/UserRepositoryExtension.java b/spring-data-commons-repository/src/test/java/example/UserRepositoryExtension.java similarity index 100% rename from src/test/java/example/UserRepositoryExtension.java rename to spring-data-commons-repository/src/test/java/example/UserRepositoryExtension.java diff --git a/src/test/java/example/UserRepositoryExtensionImpl.java b/spring-data-commons-repository/src/test/java/example/UserRepositoryExtensionImpl.java similarity index 100% rename from src/test/java/example/UserRepositoryExtensionImpl.java rename to spring-data-commons-repository/src/test/java/example/UserRepositoryExtensionImpl.java diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/Person.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/Person.java new file mode 100644 index 0000000000..f732406349 --- /dev/null +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/Person.java @@ -0,0 +1,27 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.repository; + +import org.springframework.data.annotation.Id; + +/** + * @author Mark Paluch + */ +public class Person { + + @Id String id; + String firstname, lastname; +} diff --git a/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java similarity index 98% rename from src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java index 55c2d86ea4..cbf66b5410 100644 --- a/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotContributionAssert.java @@ -24,13 +24,14 @@ import org.assertj.core.api.AbstractAssert; import org.junit.jupiter.api.function.ThrowingConsumer; + import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.test.generate.TestGenerationContext; import org.springframework.beans.factory.aot.BeanRegistrationCode; -import org.springframework.data.aot.CodeContributionAssert; import org.springframework.data.repository.config.RepositoryRegistrationAotContribution; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.RepositoryFragment; +import org.springframework.data.test.aot.CodeContributionAssert; /** * AssertJ {@link AbstractAssert Assertion} for {@link RepositoryRegistrationAotContribution}. diff --git a/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java similarity index 93% rename from src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java index bb71245359..78f08e0439 100644 --- a/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/RepositoryRegistrationAotProcessorIntegrationTests.java @@ -20,6 +20,7 @@ import java.io.Serializable; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.aop.SpringProxy; @@ -32,18 +33,6 @@ import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; import org.springframework.core.DecoratingProxy; -import org.springframework.data.aot.sample.ConfigWithCustomImplementation; -import org.springframework.data.aot.sample.ConfigWithCustomRepositoryBaseClass; -import org.springframework.data.aot.sample.ConfigWithFragments; -import org.springframework.data.aot.sample.ConfigWithQueryMethods; -import org.springframework.data.aot.sample.ConfigWithQueryMethods.ProjectionInterface; -import org.springframework.data.aot.sample.ConfigWithQuerydslPredicateExecutor; -import org.springframework.data.aot.sample.ConfigWithQuerydslPredicateExecutor.Person; -import org.springframework.data.aot.sample.ConfigWithSimpleCrudRepository; -import org.springframework.data.aot.sample.ConfigWithTransactionManagerPresent; -import org.springframework.data.aot.sample.ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository; -import org.springframework.data.aot.sample.QConfigWithQuerydslPredicateExecutor_Person; -import org.springframework.data.aot.sample.ReactiveConfig; import org.springframework.data.domain.AbstractAggregateRoot; import org.springframework.data.domain.AfterDomainEventPublication; import org.springframework.data.domain.DomainEvents; @@ -52,6 +41,18 @@ import org.springframework.data.repository.Repository; import org.springframework.data.repository.aot.RepositoryRegistrationAotProcessorIntegrationTests.EventPublicationConfiguration.Sample; import org.springframework.data.repository.aot.RepositoryRegistrationAotProcessorIntegrationTests.EventPublicationConfiguration.SampleRepository; +import org.springframework.data.repository.aot.sample.ConfigWithCustomImplementation; +import org.springframework.data.repository.aot.sample.ConfigWithCustomRepositoryBaseClass; +import org.springframework.data.repository.aot.sample.ConfigWithFragments; +import org.springframework.data.repository.aot.sample.ConfigWithQueryMethods; +import org.springframework.data.repository.aot.sample.ConfigWithQueryMethods.ProjectionInterface; +import org.springframework.data.repository.aot.sample.ConfigWithQuerydslPredicateExecutor; +import org.springframework.data.repository.aot.sample.ConfigWithQuerydslPredicateExecutor.Person; +import org.springframework.data.repository.aot.sample.ConfigWithSimpleCrudRepository; +import org.springframework.data.repository.aot.sample.ConfigWithTransactionManagerPresent; +import org.springframework.data.repository.aot.sample.ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository; +import org.springframework.data.repository.aot.sample.QConfigWithQuerydslPredicateExecutor_Person; +import org.springframework.data.repository.aot.sample.ReactiveConfig; import org.springframework.data.repository.config.EnableRepositories; import org.springframework.data.repository.config.RepositoryRegistrationAotContribution; import org.springframework.data.repository.config.RepositoryRegistrationAotProcessor; @@ -202,6 +203,7 @@ void contributesCustomImplementationCorrectly() { } @Test // GH-2593 + @Disabled("TODO SPLIT") void contributesDomainTypeAndReachableTypesCorrectly() { RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration( @@ -250,6 +252,7 @@ void contributesRepositoryBaseClassCorrectly() { } @Test // GH-2593 + @Disabled("TODO SPLIT") void contributesTypesFromQueryMethods() { RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration( @@ -288,6 +291,7 @@ void doesNotCareAboutNonDataAnnotations() { } @Test // GH-2721 + @Disabled("TODO SPLIT") void registersQTypeIfPresent() { RepositoryRegistrationAotContribution repositoryBeanContribution = computeAotConfiguration( diff --git a/src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java index 9fa9edaa5a..6e8f089f95 100644 --- a/src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContextUnitTests.java @@ -15,13 +15,14 @@ */ package org.springframework.data.repository.aot.generate; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; +import static org.assertj.core.api.Assertions.*; +import static org.mockito.ArgumentMatchers.*; import java.lang.reflect.Method; import org.junit.jupiter.api.Test; import org.mockito.Mockito; + import org.springframework.data.domain.Limit; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecoratorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecoratorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecoratorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryBeanDefinitionPropertiesDecoratorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryConfigurationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryConfigurationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryConfigurationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryConfigurationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java similarity index 95% rename from src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java index 3dbff067fe..4f14d3534a 100644 --- a/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryCreatorUnitTests.java @@ -22,9 +22,11 @@ import java.util.List; import java.util.TimeZone; +import java.util.function.Function; import javax.lang.model.element.Modifier; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -33,12 +35,12 @@ import org.springframework.core.ResolvableType; import org.springframework.data.geo.Metric; import org.springframework.data.projection.SpelAwareProxyProjectionFactory; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.AotRepositoryInformation; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.AnnotationRepositoryMetadata; import org.springframework.data.repository.core.support.RepositoryFragment; +import org.springframework.data.repository.query.FluentQuery; import org.springframework.data.repository.query.QueryMethod; import org.springframework.javapoet.ClassName; import org.springframework.javapoet.JavaFile; @@ -178,8 +180,8 @@ void shouldContributeFragmentImplementationMetadata() { AnnotationRepositoryMetadata.getMetadata(QuerydslUserRepository.class), CrudRepository.class, List.of(RepositoryFragment.structural(QuerydslPredicateExecutor.class, DummyQuerydslPredicateExecutor.class))); - AotRepositoryCreator creator = AotRepositoryCreator - .forRepository(repositoryInformation, "Commons", new SpelAwareProxyProjectionFactory()); + AotRepositoryCreator creator = AotRepositoryCreator.forRepository(repositoryInformation, "Commons", + new SpelAwareProxyProjectionFactory()); creator.contributeMethods(method -> null); AotRepositoryCreator.AotBundle bundle = doCreate(creator); @@ -270,4 +272,10 @@ interface QuerydslUserRepository } interface DummyQuerydslPredicateExecutor extends QuerydslPredicateExecutor {} + + interface QuerydslPredicateExecutor { + + R findBy(Object predicate, + Function, R> queryFunction); + } } diff --git a/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilderUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilderUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/AotRepositoryMethodBuilderUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleAotRepositoryContext.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleAotRepositoryContext.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/DummyModuleAotRepositoryContext.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleAotRepositoryContext.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleDefaultRepositoryImplementation.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleDefaultRepositoryImplementation.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/DummyModuleDefaultRepositoryImplementation.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/DummyModuleDefaultRepositoryImplementation.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java index 3ca63aaa58..63e50a1063 100644 --- a/src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/LocalVariableNameFactoryUnitTests.java @@ -15,7 +15,7 @@ */ package org.springframework.data.repository.aot.generate; -import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.*; import java.util.Set; diff --git a/src/test/java/org/springframework/data/repository/aot/generate/MethodCapturingRepositoryContributor.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/MethodCapturingRepositoryContributor.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/MethodCapturingRepositoryContributor.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/MethodCapturingRepositoryContributor.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/MethodMetadataUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/MethodMetadataUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/MethodMetadataUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/MethodMetadataUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java index a30a5ba2e4..ac188cea97 100644 --- a/src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/RepositoryContributorUnitTests.java @@ -15,11 +15,9 @@ */ package org.springframework.data.repository.aot.generate; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static org.assertj.core.api.Assertions.*; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.*; import example.UserRepository; import example.UserRepositoryExtension; @@ -34,10 +32,10 @@ import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; + import org.springframework.aot.test.generate.TestGenerationContext; import org.springframework.core.test.tools.ResourceFile; import org.springframework.core.test.tools.TestCompiler; -import org.springframework.data.aot.CodeContributionAssert; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.AotRepositoryContext; import org.springframework.data.repository.core.RepositoryInformation; @@ -46,6 +44,7 @@ import org.springframework.data.repository.core.support.RepositoryFragment; import org.springframework.data.repository.query.DefaultParameters; import org.springframework.data.repository.query.QueryMethod; +import org.springframework.data.test.aot.CodeContributionAssert; import org.springframework.javapoet.CodeBlock; import org.springframework.util.ClassUtils; diff --git a/src/test/java/org/springframework/data/repository/aot/generate/StubRepositoryInformation.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/StubRepositoryInformation.java similarity index 100% rename from src/test/java/org/springframework/data/repository/aot/generate/StubRepositoryInformation.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/generate/StubRepositoryInformation.java diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java similarity index 86% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java index 753fed2fb4..4d6066a502 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomFactoryBeanBaseClass.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithCustomFactoryBeanBaseClass.MyFixedRepoFactory; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositories; import org.springframework.data.repository.core.support.DummyRepositoryFactoryBean; @@ -27,7 +26,8 @@ * @author Christoph Strobl */ @Configuration -@EnableRepositories(repositoryFactoryBeanClass = MyFixedRepoFactory.class, considerNestedRepositories = true, +@EnableRepositories(repositoryFactoryBeanClass = ConfigWithCustomFactoryBeanBaseClass.MyFixedRepoFactory.class, + considerNestedRepositories = true, includeFilters = { @Filter(type = FilterType.REGEX, pattern = ".*FixedFactoryRepository") }) public class ConfigWithCustomFactoryBeanBaseClass { diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomImplementation.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomImplementation.java similarity index 96% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithCustomImplementation.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomImplementation.java index 12cb07ad38..aff1586b73 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomImplementation.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomImplementation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import java.util.Collections; import java.util.List; diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomRepositoryBaseClass.java similarity index 91% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomRepositoryBaseClass.java index 790f660b9b..03eedb2630 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithCustomRepositoryBaseClass.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithCustomRepositoryBaseClass.java @@ -13,14 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import java.util.Optional; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithCustomRepositoryBaseClass.RepoBaseClass; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositoriesWithContributor; @@ -28,7 +27,8 @@ * @author Christoph Strobl */ @Configuration -@EnableRepositoriesWithContributor(repositoryBaseClass = RepoBaseClass.class, considerNestedRepositories = true, +@EnableRepositoriesWithContributor(repositoryBaseClass = ConfigWithCustomRepositoryBaseClass.RepoBaseClass.class, + considerNestedRepositories = true, includeFilters = { @Filter(type = FilterType.REGEX, pattern = ".*CustomerRepositoryWithCustomBaseRepo$") }) public class ConfigWithCustomRepositoryBaseClass { diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithFragments.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithFragments.java similarity index 97% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithFragments.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithFragments.java index 4c653d1c2d..7b3da231ba 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithFragments.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithFragments.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import java.util.Collections; import java.util.List; diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithQueryMethods.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQueryMethods.java similarity index 97% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithQueryMethods.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQueryMethods.java index cfc53c83ce..42181953f5 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithQueryMethods.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQueryMethods.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithQuerydslPredicateExecutor.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQuerydslPredicateExecutor.java similarity index 74% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithQuerydslPredicateExecutor.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQuerydslPredicateExecutor.java index eedf6c791d..421949d607 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithQuerydslPredicateExecutor.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithQuerydslPredicateExecutor.java @@ -13,23 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithQuerydslPredicateExecutor.MyRepo; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositories; /** * @author Christoph Strobl */ -@EnableRepositories(includeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyRepo.class) }, +@EnableRepositories( + includeFilters = { + @Filter(type = FilterType.ASSIGNABLE_TYPE, value = ConfigWithQuerydslPredicateExecutor.MyRepo.class) }, basePackageClasses = ConfigWithQuerydslPredicateExecutor.class, considerNestedRepositories = true) public class ConfigWithQuerydslPredicateExecutor { - public interface MyRepo extends CrudRepository, QuerydslPredicateExecutor { + public interface MyRepo extends CrudRepository /* TODO SPLIT , QuerydslPredicateExecutor */ { } diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithSimpleCrudRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithSimpleCrudRepository.java similarity index 84% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithSimpleCrudRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithSimpleCrudRepository.java index 25e35d9248..cf5d97aa74 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithSimpleCrudRepository.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithSimpleCrudRepository.java @@ -13,20 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.jspecify.annotations.Nullable; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithSimpleCrudRepository.MyRepo; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositories; /** * @author Christoph Strobl */ -@EnableRepositories(includeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyRepo.class) }, +@EnableRepositories( + includeFilters = { + @Filter(type = FilterType.ASSIGNABLE_TYPE, value = ConfigWithSimpleCrudRepository.MyRepo.class) }, basePackageClasses = ConfigWithSimpleCrudRepository.class, considerNestedRepositories = true) public class ConfigWithSimpleCrudRepository { diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresent.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresent.java similarity index 85% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresent.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresent.java index 06afa87379..12aed66850 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresent.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresent.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.mockito.Mockito; + import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithTransactionManagerPresent.MyTxRepo; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositories; import org.springframework.transaction.TransactionManager; @@ -27,7 +27,9 @@ /** * @author Christoph Strobl */ -@EnableRepositories(includeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyTxRepo.class) }, +@EnableRepositories( + includeFilters = { + @Filter(type = FilterType.ASSIGNABLE_TYPE, value = ConfigWithTransactionManagerPresent.MyTxRepo.class) }, basePackageClasses = ConfigWithTransactionManagerPresent.class, considerNestedRepositories = true) public class ConfigWithTransactionManagerPresent { diff --git a/src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java similarity index 84% rename from src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java index d7a1054e61..8f68f225b8 100644 --- a/src/test/java/org/springframework/data/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.mockito.Mockito; + import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; -import org.springframework.data.aot.sample.ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.MyComponentTxRepo; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.config.EnableRepositories; import org.springframework.stereotype.Component; @@ -28,7 +28,9 @@ /** * @author Christoph Strobl */ -@EnableRepositories(includeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyComponentTxRepo.class) }, +@EnableRepositories( + includeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, + value = ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.MyComponentTxRepo.class) }, basePackageClasses = ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository.class, considerNestedRepositories = true) public class ConfigWithTransactionManagerPresentAndAtComponentAnnotatedRepository { diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java new file mode 100644 index 0000000000..c1bee1fa45 --- /dev/null +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java @@ -0,0 +1,25 @@ +/* + * Copyright 2022-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.repository.aot.sample; + + +public class QConfigWithQuerydslPredicateExecutor_Person { /* TODO SPLIT extends EntityPathBase + + public QConfigWithQuerydslPredicateExecutor_Person(Class type, String variable) { + super(type, variable); + } + */ +} diff --git a/src/test/java/org/springframework/data/aot/sample/ReactiveConfig.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ReactiveConfig.java similarity index 96% rename from src/test/java/org/springframework/data/aot/sample/ReactiveConfig.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ReactiveConfig.java index 5b77c22ac1..f8e189d913 100644 --- a/src/test/java/org/springframework/data/aot/sample/ReactiveConfig.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/aot/sample/ReactiveConfig.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.repository.aot.sample; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; diff --git a/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/ComposedRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ComposedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ComposedRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ComposedRepository.java diff --git a/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyConfigurationExtension.java diff --git a/src/test/java/org/springframework/data/repository/config/DummyRegistrar.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyRegistrar.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/DummyRegistrar.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyRegistrar.java diff --git a/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/DummyRegistrarWithContributor.java diff --git a/src/test/java/org/springframework/data/repository/config/EnableReactiveRepositories.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableReactiveRepositories.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/EnableReactiveRepositories.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableReactiveRepositories.java diff --git a/src/test/java/org/springframework/data/repository/config/EnableRepositories.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableRepositories.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/EnableRepositories.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableRepositories.java diff --git a/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/EnableRepositoriesWithContributor.java diff --git a/src/test/java/org/springframework/data/repository/config/ExcludedRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ExcludedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ExcludedRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ExcludedRepository.java diff --git a/src/test/java/org/springframework/data/repository/config/ExcludedRepositoryImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ExcludedRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ExcludedRepositoryImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ExcludedRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/Mixin.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/Mixin.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/Mixin.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/Mixin.java diff --git a/src/test/java/org/springframework/data/repository/config/MixinImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MixinImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/MixinImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MixinImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/MyOtherRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/MyOtherRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepository.java diff --git a/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryExtensions.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryExtensions.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/MyOtherRepositoryExtensions.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryExtensions.java diff --git a/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/MyOtherRepositoryImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyOtherRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/MyRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/MyRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/MyRepository.java diff --git a/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/config/ProfileRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ProfileRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ProfileRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ProfileRepository.java diff --git a/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ReactiveDummyConfigurationExtension.java diff --git a/src/test/java/org/springframework/data/repository/config/ReactiveDummyRegistrar.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ReactiveDummyRegistrar.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ReactiveDummyRegistrar.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ReactiveDummyRegistrar.java diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java similarity index 92% rename from src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java index 13482da3f8..041b51cc9b 100644 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionReaderTests.java @@ -23,12 +23,12 @@ import org.springframework.aot.hint.RuntimeHints; import org.springframework.beans.factory.support.RegisteredBean; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.data.aot.sample.ConfigWithCustomImplementation; -import org.springframework.data.aot.sample.ConfigWithCustomRepositoryBaseClass; -import org.springframework.data.aot.sample.ConfigWithCustomRepositoryBaseClass.CustomerRepositoryWithCustomBaseRepo; -import org.springframework.data.aot.sample.ConfigWithFragments; -import org.springframework.data.aot.sample.ConfigWithSimpleCrudRepository; -import org.springframework.data.aot.sample.ReactiveConfig; +import org.springframework.data.repository.aot.sample.ConfigWithCustomImplementation; +import org.springframework.data.repository.aot.sample.ConfigWithCustomRepositoryBaseClass; +import org.springframework.data.repository.aot.sample.ConfigWithCustomRepositoryBaseClass.CustomerRepositoryWithCustomBaseRepo; +import org.springframework.data.repository.aot.sample.ConfigWithFragments; +import org.springframework.data.repository.aot.sample.ConfigWithSimpleCrudRepository; +import org.springframework.data.repository.aot.sample.ReactiveConfig; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.core.support.RepositoryFragment; diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java index 3f2eb9243d..974b958b75 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java @@ -35,7 +35,6 @@ import org.springframework.core.env.StandardEnvironment; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.type.AnnotationMetadata; -import org.springframework.data.mapping.Person; import org.springframework.data.repository.Repository; import org.springframework.data.repository.config.basepackage.FragmentImpl; import org.springframework.data.repository.core.support.DummyRepositoryFactoryBean; @@ -226,4 +225,8 @@ static class MyNestedRepositoryImpl { } + static class Person { + + } + } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java index 955a565c72..4ca9f1d0a8 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java @@ -93,6 +93,7 @@ private BeanDefinition getBeanDefinitionFor(Class repositoryInterface) { interface PlainInterface {} + // TODO SPLIT @Named("specialName") interface AnnotatedInterface {} diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java index 417681d314..3f4e3a4ded 100644 --- a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java @@ -45,7 +45,7 @@ import org.springframework.core.env.StandardEnvironment; import org.springframework.core.metrics.ApplicationStartup; import org.springframework.core.type.AnnotationMetadata; -import org.springframework.data.mapping.Person; +import org.springframework.data.repository.Person; import org.springframework.data.repository.Repository; import org.springframework.data.repository.config.RepositoryConfigurationDelegate.LazyRepositoryInjectionPointResolver; import org.springframework.data.repository.config.annotated.MyAnnotatedRepository; diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryFragmentConfigurationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryWithFragmentExclusion.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryWithFragmentExclusion.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/RepositoryWithFragmentExclusion.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/RepositoryWithFragmentExclusion.java diff --git a/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/config/SampleConfiguration.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SampleConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/SampleConfiguration.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SampleConfiguration.java diff --git a/src/test/java/org/springframework/data/repository/config/SampleRepositoryFragmentsContributor.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SampleRepositoryFragmentsContributor.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/SampleRepositoryFragmentsContributor.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SampleRepositoryFragmentsContributor.java diff --git a/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java similarity index 94% rename from src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java index f24f953f00..7336b6a64d 100644 --- a/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepository.java @@ -15,8 +15,8 @@ */ package org.springframework.data.repository.config.annotated; -import org.springframework.data.mapping.Person; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.Person; /** * @author Mark Paluch diff --git a/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepositoryImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepositoryImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyAnnotatedRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/annotated/MyFragment.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyFragment.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/annotated/MyFragment.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyFragment.java diff --git a/src/test/java/org/springframework/data/repository/config/annotated/MyFragmentImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyFragmentImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/annotated/MyFragmentImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/annotated/MyFragmentImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/basepackage/FragmentImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/FragmentImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/basepackage/FragmentImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/FragmentImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/basepackage/repo/Fragment.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/repo/Fragment.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/basepackage/repo/Fragment.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/repo/Fragment.java diff --git a/src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java similarity index 94% rename from src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java index bcea1e7115..2c07cb72b3 100644 --- a/src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/basepackage/repo/PersonRepository.java @@ -15,7 +15,7 @@ */ package org.springframework.data.repository.config.basepackage.repo; -import org.springframework.data.mapping.Person; +import org.springframework.data.repository.Person; import org.springframework.data.repository.Repository; import org.springframework.data.repository.config.spifragment.SpiFragment; diff --git a/src/test/java/org/springframework/data/repository/config/excluded/MyOtherRepositoryImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/excluded/MyOtherRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/excluded/MyOtherRepositoryImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/excluded/MyOtherRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/spifragment/SpiContribution.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiContribution.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/spifragment/SpiContribution.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiContribution.java diff --git a/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragment.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragment.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/spifragment/SpiFragment.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragment.java diff --git a/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragmentImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragmentImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/spifragment/SpiFragmentImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/spifragment/SpiFragmentImpl.java diff --git a/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java similarity index 94% rename from src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java index 0bab9b4179..0eea8d2cd1 100644 --- a/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepository.java @@ -15,8 +15,8 @@ */ package org.springframework.data.repository.config.stereotype; -import org.springframework.data.mapping.Person; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.Person; import org.springframework.stereotype.Component; /** diff --git a/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepositoryImpl.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepositoryImpl.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/config/stereotype/MyStereotypeRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java index c514211f8d..994e94070e 100755 --- a/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java @@ -31,7 +31,6 @@ import org.springframework.core.ResolvableType; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.data.querydsl.User; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.Repository; import org.springframework.data.repository.core.RepositoryMetadata; @@ -132,10 +131,8 @@ void doesNotUnwrapCustomTypeImplementingIterable() throws Exception { Stream detectsReturnTypesForStreamableAggregates() throws Exception { var metadata = AbstractRepositoryMetadata.getMetadata(StreamableAggregateRepository.class); - var methods = Stream.of( - Map.entry("findBy", StreamableAggregate.class), - Map.entry("findSubTypeBy", StreamableAggregateSubType.class), - Map.entry("findAllBy", StreamableAggregate.class), + var methods = Stream.of(Map.entry("findBy", StreamableAggregate.class), + Map.entry("findSubTypeBy", StreamableAggregateSubType.class), Map.entry("findAllBy", StreamableAggregate.class), Map.entry("findOptional", StreamableAggregate.class)); return DynamicTest.stream(methods, // @@ -209,4 +206,13 @@ interface StreamableAggregateRepository extends Repository nickNames; + public Long inceptionYear; + public String description; + + } } diff --git a/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java index 05a4b85193..e2da07232c 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java @@ -163,8 +163,8 @@ static interface UserCustomExtendedRepository extends CrudRepository implements CrudRepository { - public java.util.Optional findById(ID id) { - return java.util.Optional.empty(); + public Optional findById(ID id) { + return Optional.empty(); } } diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyEntityInformation.java diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java similarity index 82% rename from src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java index c0beceb497..adf0a4176f 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java @@ -22,7 +22,6 @@ import org.mockito.Mockito; import org.springframework.data.projection.ProjectionFactory; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.core.EntityInformation; import org.springframework.data.repository.core.NamedQueries; import org.springframework.data.repository.core.RepositoryInformation; @@ -41,8 +40,6 @@ public class DummyReactiveRepositoryFactory extends ReactiveRepositoryFactorySup public final RepositoryQuery queryTwo = mock(RepositoryQuery.class); final QueryLookupStrategy strategy = mock(QueryLookupStrategy.class); - @SuppressWarnings("unchecked") private final QuerydslPredicateExecutor querydsl = mock( - QuerydslPredicateExecutor.class); private final Object repository; public DummyReactiveRepositoryFactory(Object repository) { @@ -74,13 +71,4 @@ protected Optional getQueryLookupStrategy(Key key, return Optional.of(strategy); } - @Override - protected RepositoryComposition.RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { - - var fragments = super.getRepositoryFragments(metadata); - - return QuerydslPredicateExecutor.class.isAssignableFrom(metadata.getRepositoryInterface()) // - ? fragments.append(RepositoryComposition.RepositoryFragments.just(querydsl)) // - : fragments; - } } diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java new file mode 100644 index 0000000000..72de32938f --- /dev/null +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java @@ -0,0 +1,107 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.repository.core.support; + +import static org.mockito.Mockito.*; + +import java.lang.reflect.Method; +import java.util.Optional; +import java.util.function.Supplier; + +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; + +import org.springframework.beans.factory.BeanFactory; +import org.springframework.core.metrics.ApplicationStartup; +import org.springframework.core.metrics.StartupStep; +import org.springframework.data.projection.ProjectionFactory; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.NamedQueries; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.query.QueryLookupStrategy; +import org.springframework.data.repository.query.QueryLookupStrategy.Key; +import org.springframework.data.repository.query.RepositoryQuery; +import org.springframework.data.repository.query.ValueExpressionDelegate; + +/** + * Dummy implementation for {@link RepositoryFactorySupport} that is equipped with mocks to simulate behavior for test + * cases. + * + * @author Oliver Gierke + * @author Christoph Strobl + */ +public class DummyRepositoryFactory extends RepositoryFactorySupport { + + public final MyRepositoryQuery queryOne = mock(MyRepositoryQuery.class); + public final RepositoryQuery queryTwo = mock(RepositoryQuery.class); + public final QueryLookupStrategy strategy = mock(QueryLookupStrategy.class); + + private final ApplicationStartup applicationStartup; + + private final Object repository; + + public DummyRepositoryFactory(Object repository) { + + this.repository = repository; + + when(strategy.resolveQuery(Mockito.any(Method.class), Mockito.any(RepositoryMetadata.class), + Mockito.any(ProjectionFactory.class), Mockito.any(NamedQueries.class))).thenReturn(queryOne); + + this.applicationStartup = mock(ApplicationStartup.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); + + var beanFactory = Mockito.mock(BeanFactory.class); + when(beanFactory.getBean(ApplicationStartup.class)).thenReturn(applicationStartup); + setBeanFactory(beanFactory); + } + + @Override + public EntityInformation getEntityInformation(RepositoryMetadata metadata) { + return mock(EntityInformation.class); + } + + @Override + protected Object getTargetRepository(RepositoryInformation information) { + return repository; + } + + @Override + protected Class getRepositoryBaseClass(RepositoryMetadata metadata) { + return repository.getClass(); + } + + @Override + protected Optional getQueryLookupStrategy(Key key, + ValueExpressionDelegate valueExpressionDelegate) { + return Optional.of(strategy); + } + + ApplicationStartup getApplicationStartup() { + return this.applicationStartup; + } + + /** + * @author Mark Paluch + */ + public interface MyRepositoryQuery extends RepositoryQuery { + + } + +} diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java similarity index 96% rename from src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java index 4121d6f0c3..2f78428e0a 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactoryBean.java @@ -19,7 +19,6 @@ import java.io.Serializable; -import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.repository.Repository; /** diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryInformation.java diff --git a/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java similarity index 93% rename from src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java index 656a22a0c6..1e2ca27b1d 100755 --- a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java @@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test; import org.springframework.data.annotation.Id; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.context.SampleMappingContext; -import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.data.repository.core.EntityInformation; /** diff --git a/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java similarity index 85% rename from src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java index 56d5773da1..6f361494ca 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactory.java @@ -28,12 +28,10 @@ import org.springframework.core.metrics.ApplicationStartup; import org.springframework.core.metrics.StartupStep; import org.springframework.data.projection.ProjectionFactory; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.core.EntityInformation; import org.springframework.data.repository.core.NamedQueries; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.RepositoryMetadata; -import org.springframework.data.repository.core.support.RepositoryComposition.RepositoryFragments; import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.repository.query.RepositoryQuery; @@ -54,8 +52,6 @@ public class ReactiveDummyRepositoryFactory extends ReactiveRepositoryFactorySup private final ApplicationStartup applicationStartup; - @SuppressWarnings("unchecked") private final QuerydslPredicateExecutor querydsl = mock( - QuerydslPredicateExecutor.class); private final Object repository; public ReactiveDummyRepositoryFactory(Object repository) { @@ -97,16 +93,6 @@ protected Optional getQueryLookupStrategy(Key key, return Optional.of(strategy); } - @Override - protected RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { - - var fragments = super.getRepositoryFragments(metadata); - - return QuerydslPredicateExecutor.class.isAssignableFrom(metadata.getRepositoryInterface()) // - ? fragments.append(RepositoryFragments.just(querydsl)) // - : fragments; - } - ApplicationStartup getApplicationStartup() { return this.applicationStartup; } diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java similarity index 95% rename from src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java index 2ede041943..fac8f9889f 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveDummyRepositoryFactoryBean.java @@ -19,7 +19,6 @@ import java.io.Serializable; -import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.repository.Repository; /** diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java index d5e43c8153..6ba7dfb82a 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java @@ -23,7 +23,6 @@ import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.Repository; import org.springframework.test.util.ReflectionTestUtils; @@ -97,8 +96,7 @@ public Object invoke(@NonNull MethodInvocation invocation) { @Test // DATACMNS-1345 void reportsMappingContextUnavailableForPersistentEntityLookup() { - var bean = new RepositoryFactoryBeanSupport( - SampleRepository.class) { + var bean = new RepositoryFactoryBeanSupport(SampleRepository.class) { @Override protected RepositoryFactorySupport createRepositoryFactory() { @@ -118,5 +116,5 @@ interface SampleRepository extends Repository { } - interface SampleWithQuerydslRepository extends Repository, QuerydslPredicateExecutor {} + interface SampleWithQuerydslRepository extends Repository {} } diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java similarity index 91% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java index 43b602bcc0..511df0a3dd 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java @@ -24,7 +24,6 @@ import java.lang.reflect.Method; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.concurrent.CompletableFuture; @@ -43,6 +42,7 @@ 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.aop.interceptor.ExposeInvocationInterceptor; import org.springframework.beans.factory.support.DefaultListableBeanFactory; @@ -52,7 +52,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.projection.ProjectionFactory; -import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.Repository; import org.springframework.data.repository.RepositoryDefinition; @@ -295,26 +294,6 @@ record Metadata(RepositoryMethodContext context, MethodInvocation methodInvocati assertThat(metadata.methodInvocation().getMethod().getName()).isEqualTo("findMetadataByLastname"); } - @Test - void cachesRepositoryInformation() { - - var repository1 = factory.getRepository(ObjectAndQuerydslRepository.class, backingRepo); - var repository2 = factory.getRepository(ObjectAndQuerydslRepository.class, backingRepo); - repository1.findByFoo(null); - repository2.deleteAll(); - - for (int i = 0; i < 10; i++) { - RepositoryFragments fragments = RepositoryFragments.just(backingRepo); - RepositoryMetadata metadata = factory.getRepositoryMetadata(ObjectAndQuerydslRepository.class); - factory.getRepositoryInformation(metadata, fragments); - } - - Map cache = (Map) ReflectionTestUtils.getField(factory, - "repositoryInformationCache"); - - assertThat(cache).hasSize(1); - } - @Test // DATACMNS-509, DATACMNS-1764 void convertsWithSameElementType() { @@ -500,17 +479,6 @@ void callsApplicationStartupOnRepositoryInitialization() { orderedInvocation.verify(startup).start("spring.data.repository.proxy"); } - @Test // GH-2341 - void dummyRepositoryShouldsupportQuerydsl() { - factory.getRepository(WithQuerydsl.class, backingRepo); - } - - @Test // GH-2341 - void dummyRepositoryNotSupportingReactiveQuerydslShouldRaiseException() { - assertThatThrownBy(() -> factory.getRepository(WithReactiveQuerydsl.class, backingRepo)) - .isInstanceOf(UnsupportedFragmentException.class).hasMessage( - "Repository org.springframework.data.repository.core.support.RepositoryFactorySupportUnitTests$WithReactiveQuerydsl implements org.springframework.data.repository.query.ReactiveQueryByExampleExecutor but DummyRepositoryFactory does not support Reactive Query by Example"); - } @Test // GH-2341 void dummyRepositoryNotSupportingQbeShouldRaiseException() { @@ -572,17 +540,13 @@ private void expect(Future future, Object value) throws Exception { interface SimpleRepository extends Repository {} - interface ObjectAndQuerydslRepository extends ObjectRepository, QuerydslPredicateExecutor { - - } - interface ObjectRepository extends Repository, ObjectRepositoryCustom { @Nullable Object findByClass(Class clazz); - @org.jspecify.annotations.Nullable - Object findByFoo(@org.jspecify.annotations.Nullable Object foo); + @Nullable + Object findByFoo(@Nullable Object foo); Object findByNonNullFoo(@NonNull Object foo); @@ -669,14 +633,6 @@ static class CustomRepositoryBaseClass { CustomRepositoryBaseClass(EntityInformation information) {} } - interface WithQuerydsl extends Repository, QuerydslPredicateExecutor { - - } - - interface WithReactiveQuerydsl extends Repository, ReactiveQueryByExampleExecutor { - - } - interface WithQbe extends Repository, QueryByExampleExecutor { } diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFragmentUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFragmentUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryFragmentUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryFragmentUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SampleMappingContext.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SampleMappingContext.java new file mode 100644 index 0000000000..414132e65b --- /dev/null +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SampleMappingContext.java @@ -0,0 +1,40 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.repository.core.support; + +import org.springframework.data.mapping.context.AbstractMappingContext; +import org.springframework.data.mapping.model.BasicPersistentEntity; +import org.springframework.data.mapping.model.Property; +import org.springframework.data.mapping.model.SimpleTypeHolder; +import org.springframework.data.util.TypeInformation; + +public class SampleMappingContext + extends AbstractMappingContext, SamplePersistentProperty> { + + @Override + @SuppressWarnings("unchecked") + protected BasicPersistentEntity createPersistentEntity( + TypeInformation typeInformation) { + return new BasicPersistentEntity<>((TypeInformation) typeInformation); + } + + @Override + protected SamplePersistentProperty createPersistentProperty(Property property, + BasicPersistentEntity owner, SimpleTypeHolder simpleTypeHolder) { + + return new SamplePersistentProperty(property, owner, simpleTypeHolder); + } +} diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SamplePersistentProperty.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SamplePersistentProperty.java new file mode 100644 index 0000000000..369a0f1339 --- /dev/null +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SamplePersistentProperty.java @@ -0,0 +1,35 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.repository.core.support; + +import org.springframework.data.mapping.Association; +import org.springframework.data.mapping.model.AnnotationBasedPersistentProperty; +import org.springframework.data.mapping.model.BasicPersistentEntity; +import org.springframework.data.mapping.model.Property; +import org.springframework.data.mapping.model.SimpleTypeHolder; + +public class SamplePersistentProperty extends AnnotationBasedPersistentProperty { + + SamplePersistentProperty(Property property, BasicPersistentEntity owner, + SimpleTypeHolder simpleTypeHolder) { + super(property, owner, simpleTypeHolder); + } + + @Override + protected Association createAssociation() { + return new Association<>(this, null); + } +} diff --git a/src/test/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/init/JacksonResourceReaderIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/JacksonResourceReaderIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/init/JacksonResourceReaderIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/JacksonResourceReaderIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/init/Person.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/Person.java similarity index 100% rename from src/test/java/org/springframework/data/repository/init/Person.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/Person.java diff --git a/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java index 4504ce31ed..0eab495640 100644 --- a/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java @@ -28,7 +28,6 @@ import org.junit.jupiter.api.TestFactory; import org.springframework.core.MethodParameter; -import org.springframework.data.repository.Repository; import org.springframework.data.repository.query.ParametersUnitTests.User; import org.springframework.data.util.TypeInformation; diff --git a/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java similarity index 92% rename from src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java index be59ab398e..9421cdb69d 100755 --- a/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java @@ -111,10 +111,10 @@ void handlesLimitAsAParameterType() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Limit.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Limit.of(100), "spring" }); + new Object[] { Limit.of(100), "META-INF/spring" }); assertThat(accessor).hasSize(1); - assertThat(accessor.getBindableValue(0)).isEqualTo("spring"); + assertThat(accessor.getBindableValue(0)).isEqualTo("META-INF/spring"); } @Test // GH-2728 @@ -122,7 +122,7 @@ void returnsLimitIfAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Limit.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Limit.of(100), "spring" }); + new Object[] { Limit.of(100), "META-INF/spring" }); assertThat(accessor.getLimit()).extracting(Limit::max).isEqualTo(100); } @@ -132,7 +132,7 @@ void readsLimitFromPageableIfAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Pageable.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Pageable.ofSize(100), "spring" }); + new Object[] { Pageable.ofSize(100), "META-INF/spring" }); assertThat(accessor.getLimit()).extracting(Limit::max).isEqualTo(100); } @@ -142,7 +142,7 @@ void returnsUnlimitedIfNoLimitingAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Sort.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Pageable.ofSize(100), "spring" }); + new Object[] { Pageable.ofSize(100), "META-INF/spring" }); assertThat(accessor.getLimit().isUnlimited()).isTrue(); } @@ -152,7 +152,7 @@ void appliesLimitToPageableIfAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Limit.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Limit.of(100), "spring" }); + new Object[] { Limit.of(100), "META-INF/spring" }); Pageable pageable = accessor.getPageable(); assertThat(pageable).extracting(Pageable::getPageSize).isEqualTo(100); @@ -164,10 +164,10 @@ void appliesLimitToPageableIfRequested() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Limit.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Limit.of(100), "spring" }); + new Object[] { Limit.of(100), "META-INF/spring" }); assertThat(accessor).hasSize(1); - assertThat(accessor.getBindableValue(0)).isEqualTo("spring"); + assertThat(accessor.getBindableValue(0)).isEqualTo("META-INF/spring"); } @Test // GH-2728 @@ -175,7 +175,7 @@ void appliesSortToPageableIfAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Sort.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Sort.by("one", "two"), "spring" }); + new Object[] { Sort.by("one", "two"), "META-INF/spring" }); Pageable pageable = accessor.getPageable(); assertThat(pageable.isPaged()).isFalse(); @@ -187,7 +187,7 @@ void appliesSortAndLimitToPageableIfAvailable() throws NoSuchMethodException { var method = Sample.class.getMethod("method", Sort.class, Limit.class, String.class); var accessor = new ParametersParameterAccessor(new DefaultParameters(ParametersSource.of(method)), - new Object[] { Sort.by("one", "two"), Limit.of(42), "spring" }); + new Object[] { Sort.by("one", "two"), Limit.of(42), "META-INF/spring" }); Pageable pageable = accessor.getPageable(); assertThat(pageable).extracting(Pageable::getPageSize).isEqualTo(42); diff --git a/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java index a0ba43abfd..a72cdf647a 100644 --- a/src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/ValueExpressionQueryRewriterUnitTests.java @@ -123,7 +123,7 @@ void shouldEvaluateExpression() throws Exception { ValueExpressionQueryRewriter.EvaluatingValueExpressionQueryRewriter rewriter = ValueExpressionQueryRewriter .of(delegate, PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - Method method = ValueExpressionQueryRewriterUnitTests.MyRepository.class.getDeclaredMethod("simpleExpression", + Method method = MyRepository.class.getDeclaredMethod("simpleExpression", String.class); var extractor = rewriter.parse("SELECT :#{#value}, :${foo}", new DefaultParameters(ParametersSource.of(method))); @@ -143,7 +143,7 @@ void shouldAllowNullValues() throws Exception { QueryMethodValueEvaluationContextAccessor factory = new QueryMethodValueEvaluationContextAccessor(environment, EvaluationContextProvider.DEFAULT); - Method method = ValueExpressionQueryRewriterUnitTests.MyRepository.class.getDeclaredMethod("simpleExpression", + Method method = MyRepository.class.getDeclaredMethod("simpleExpression", String.class); var extractor = rewriter.withEvaluationContextAccessor(factory).parse("SELECT :#{#value}", new DefaultParameters(ParametersSource.of(method))); diff --git a/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/sample/AddressRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/AddressRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/AddressRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/AddressRepository.java diff --git a/src/test/java/org/springframework/data/repository/sample/AddressRepositoryClient.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/AddressRepositoryClient.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/AddressRepositoryClient.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/AddressRepositoryClient.java diff --git a/src/test/java/org/springframework/data/repository/sample/Product.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/Product.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/Product.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/Product.java diff --git a/src/test/java/org/springframework/data/repository/sample/ProductRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/ProductRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/ProductRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/ProductRepository.java diff --git a/src/test/java/org/springframework/data/repository/sample/SampleAnnotatedRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/SampleAnnotatedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/SampleAnnotatedRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/SampleAnnotatedRepository.java diff --git a/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java diff --git a/src/test/java/org/springframework/data/repository/sample/User.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/User.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/User.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/User.java diff --git a/src/test/java/org/springframework/data/repository/sample/UserRepository.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/UserRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/sample/UserRepository.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/sample/UserRepository.java diff --git a/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java similarity index 98% rename from src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java index 6ed64427c0..713278298a 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.support; -import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import java.io.Serializable; @@ -24,6 +23,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; + import org.springframework.beans.BeanWrapper; import org.springframework.beans.BeanWrapperImpl; import org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor; diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java index 2cc473493e..c5b6a5135c 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java @@ -42,7 +42,6 @@ import org.springframework.data.repository.core.support.DummyRepositoryFactoryBean; import org.springframework.data.repository.support.DomainClassConverter.ToIdConverter; import org.springframework.test.util.ReflectionTestUtils; -import org.springframework.web.bind.annotation.ModelAttribute; /** * Unit test for {@link DomainClassConverter}. @@ -180,8 +179,7 @@ void toIdConverterDoesNotMatchIfTargetTypeIsAssignableFromSource() throws NoSuch assertMatches(false); @SuppressWarnings("rawtypes") - var toIdConverter = (Optional) ReflectionTestUtils.getField(converter, - "toIdConverter"); + var toIdConverter = (Optional) ReflectionTestUtils.getField(converter, "toIdConverter"); var method = Wrapper.class.getMethod("foo", User.class); var target = TypeDescriptor.nested(new MethodParameter(method, 0), 0); @@ -235,7 +233,7 @@ private void assertMatches(boolean matchExpected) { static interface Wrapper { - void foo(@ModelAttribute User user); + void foo(User user); } private static class User { diff --git a/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java index cbb08cd940..2466f92f5e 100755 --- a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java @@ -35,7 +35,6 @@ import org.springframework.context.annotation.Primary; import org.springframework.context.support.GenericApplicationContext; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.Repository; import org.springframework.data.repository.core.EntityInformation; @@ -47,6 +46,7 @@ import org.springframework.data.repository.core.support.DummyRepositoryInformation; import org.springframework.data.repository.core.support.RepositoryFactoryInformation; import org.springframework.data.repository.core.support.RepositoryFragmentsContributor; +import org.springframework.data.repository.core.support.SampleMappingContext; import org.springframework.data.repository.query.QueryMethod; import org.springframework.data.util.TypeInformation; import org.springframework.util.ClassUtils; diff --git a/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java diff --git a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java index f3358c276e..0415e367f5 100755 --- a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java @@ -212,11 +212,11 @@ void unwrapsDomainTypeFromJavaslangTryWrapper() throws Exception { @Test // DATACMNS-983 void exposesExecutionAdapterForVavrTry() throws Throwable { - var result = getExecutionAdapter(io.vavr.control.Try.class).apply(() -> { + var result = getExecutionAdapter(Try.class).apply(() -> { throw new IOException("Some message"); }); - assertThat(result).isInstanceOf(io.vavr.control.Try.Failure.class); + assertThat(result).isInstanceOf(Failure.class); } @Test // DATACMNS-983 @@ -271,9 +271,9 @@ interface Sample { Try> tryForSeqMethod(); - io.vavr.control.Try vavrTryMethod(); + Try vavrTryMethod(); - io.vavr.control.Try> vavrTryForSeqMethod(); + Try> vavrTryForSeqMethod(); } // DATACMNS-1430 diff --git a/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java rename to spring-data-commons-repository/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java diff --git a/src/test/kotlin/org/springframework/data/repository/CrudRepositoryExtensionsTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/CrudRepositoryExtensionsTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/CrudRepositoryExtensionsTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/CrudRepositoryExtensionsTests.kt diff --git a/src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt similarity index 97% rename from src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt index c7e44f9c01..3e2f173602 100644 --- a/src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt +++ b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/core/support/CoroutineRepositoryMetadataUnitTests.kt @@ -18,7 +18,7 @@ package org.springframework.data.repository.core.support import kotlinx.coroutines.flow.Flow import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test -import org.springframework.data.mapping.Person +import org.springframework.data.repository.Person import org.springframework.data.repository.Repository import org.springframework.data.repository.core.RepositoryMetadata import kotlin.coroutines.Continuation @@ -52,4 +52,5 @@ class CoroutineRepositoryMetadataUnitTests { fun queryMethod(): Flow } + } diff --git a/src/test/kotlin/org/springframework/data/repository/core/support/KotlinUserRepository.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/core/support/KotlinUserRepository.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/core/support/KotlinUserRepository.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/core/support/KotlinUserRepository.kt diff --git a/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryCustomImplementationUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryCustomImplementationUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryCustomImplementationUnitTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryCustomImplementationUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryUnitTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineCrudRepositoryUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineRepositoryMetadataUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineRepositoryMetadataUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineRepositoryMetadataUnitTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/kotlin/CoroutineRepositoryMetadataUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/repository/query/KParameterUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/query/KParameterUnitTests.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/query/KParameterUnitTests.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/query/KParameterUnitTests.kt diff --git a/src/test/kotlin/org/springframework/data/repository/query/SomeDataClass.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/query/SomeDataClass.kt similarity index 100% rename from src/test/kotlin/org/springframework/data/repository/query/SomeDataClass.kt rename to spring-data-commons-repository/src/test/kotlin/org/springframework/data/repository/query/SomeDataClass.kt diff --git a/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt new file mode 100644 index 0000000000..e1d322d3b5 --- /dev/null +++ b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/KotlinBeanInfoFactoryUnitTests.kt @@ -0,0 +1,56 @@ +/* + * Copyright 2023-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.util + +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test +import org.springframework.beans.BeanUtils +import org.springframework.data.repository.Repository +import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport +import org.springframework.data.repository.core.support.RepositoryFactorySupport + +/** + * Unit tests for [KotlinBeanInfoFactory]. + * @author Mark Paluch + */ +// TODO SPLIT +class KotlinBeanInfoFactoryUnitTests { + + @Test // GH-2994 + internal fun includesPropertiesFromJavaSupertypes() { + + val pds = + BeanUtils.getPropertyDescriptors(MyRepositoryFactoryBeanImpl::class.java) + + assertThat(pds).extracting("name") + .contains("myQueryLookupStrategyKey", "repositoryBaseClass") + } + + class MyRepositoryFactoryBeanImpl(repository: Class) : + RepositoryFactoryBeanSupport(repository) + where R : Repository, E : Any, I : Any { + + private var myQueryLookupStrategyKey: String + get() = "" + set(value) { + + } + + override fun createRepositoryFactory(): RepositoryFactorySupport { + throw UnsupportedOperationException() + } + } +} diff --git a/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt new file mode 100644 index 0000000000..e4b1840abf --- /dev/null +++ b/spring-data-commons-repository/src/test/kotlin/org/springframework/data/util/TypeCreatingSyntheticClass.kt @@ -0,0 +1,24 @@ +/* + * Copyright 2017-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.util + +/** + * @author Mark Paluch + */ +class TypeCreatingSyntheticClass + +fun foobar(args: Array) { +} diff --git a/src/test/resources/META-INF/spring.factories b/spring-data-commons-repository/src/test/resources/META-INF/spring.factories similarity index 55% rename from src/test/resources/META-INF/spring.factories rename to spring-data-commons-repository/src/test/resources/META-INF/spring.factories index 4a4a775e64..d80b04de5b 100644 --- a/src/test/resources/META-INF/spring.factories +++ b/spring-data-commons-repository/src/test/resources/META-INF/spring.factories @@ -1,4 +1,2 @@ -org.springframework.data.web.config.SpringDataJacksonModules=org.springframework.data.web.config.SampleMixin -org.springframework.data.util.ProxyUtils$ProxyDetector=org.springframework.data.util.ProxyUtilsUnitTests$SampleProxyDetector org.springframework.data.repository.config.basepackage.repo.PersonRepository=org.springframework.data.repository.config.spifragment.SpiContribution org.springframework.data.repository.config.spifragment.SpiFragment=org.springframework.data.repository.config.spifragment.SpiFragmentImpl diff --git a/spring-data-commons-repository/src/test/resources/logback.xml b/spring-data-commons-repository/src/test/resources/logback.xml new file mode 100644 index 0000000000..d076abde79 --- /dev/null +++ b/spring-data-commons-repository/src/test/resources/logback.xml @@ -0,0 +1,14 @@ + + + + + + %d %5p %40.40c:%4L - %m%n + + + + + + + + diff --git a/src/test/resources/org/springframework/data/repository/config/jaxb.index b/spring-data-commons-repository/src/test/resources/org/springframework/data/repository/config/jaxb.index similarity index 100% rename from src/test/resources/org/springframework/data/repository/config/jaxb.index rename to spring-data-commons-repository/src/test/resources/org/springframework/data/repository/config/jaxb.index diff --git a/src/test/resources/org/springframework/data/repository/config/populators.xml b/spring-data-commons-repository/src/test/resources/org/springframework/data/repository/config/populators.xml similarity index 100% rename from src/test/resources/org/springframework/data/repository/config/populators.xml rename to spring-data-commons-repository/src/test/resources/org/springframework/data/repository/config/populators.xml diff --git a/src/test/resources/org/springframework/data/repository/init/data.json b/spring-data-commons-repository/src/test/resources/org/springframework/data/repository/init/data.json similarity index 100% rename from src/test/resources/org/springframework/data/repository/init/data.json rename to spring-data-commons-repository/src/test/resources/org/springframework/data/repository/init/data.json diff --git a/src/test/resources/persistent-entity.properties b/spring-data-commons-repository/src/test/resources/persistent-entity.properties similarity index 100% rename from src/test/resources/persistent-entity.properties rename to spring-data-commons-repository/src/test/resources/persistent-entity.properties diff --git a/spring-data-commons-support/pom.xml b/spring-data-commons-support/pom.xml new file mode 100644 index 0000000000..03e1495ebf --- /dev/null +++ b/spring-data-commons-support/pom.xml @@ -0,0 +1,147 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-commons-support + 4.0.0-SNAPSHOT + + Spring Data Commons Support + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-repository + ${project.version} + + + + org.springframework + spring-context + true + + + + org.springframework + spring-tx + true + + + + org.springframework + spring-core-test + test + + + + org.springframework.data + spring-data-commons-test + ${project.version} + test + + + + org.springframework + spring-webmvc + test + + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api} + true + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + com.querydsl + querydsl-core + ${querydsl} + true + + + + com.querydsl + querydsl-collections + ${querydsl} + true + + + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + true + + + + org.apache.openwebbeans + openwebbeans-se + test + + + + jakarta.servlet + jakarta.servlet-api + test + + + + com.tngtech.archunit + archunit + ${archunit} + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + java-test-compile + + + + com.querydsl + querydsl-apt + ${querydsl} + general + + + + + + + + + + diff --git a/src/main/java/org/springframework/data/crossstore/ChangeSet.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSet.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/ChangeSet.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSet.java diff --git a/src/main/java/org/springframework/data/crossstore/ChangeSetBacked.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetBacked.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/ChangeSetBacked.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetBacked.java diff --git a/src/main/java/org/springframework/data/crossstore/ChangeSetBackedTransactionSynchronization.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetBackedTransactionSynchronization.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/ChangeSetBackedTransactionSynchronization.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetBackedTransactionSynchronization.java diff --git a/src/main/java/org/springframework/data/crossstore/ChangeSetPersister.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetPersister.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/ChangeSetPersister.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/ChangeSetPersister.java diff --git a/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java diff --git a/src/main/java/org/springframework/data/crossstore/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/crossstore/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/crossstore/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/crossstore/package-info.java diff --git a/src/main/java/org/springframework/data/querydsl/EntityPathResolver.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/EntityPathResolver.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/EntityPathResolver.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/EntityPathResolver.java diff --git a/src/main/java/org/springframework/data/querydsl/ListQuerydslPredicateExecutor.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/ListQuerydslPredicateExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/ListQuerydslPredicateExecutor.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/ListQuerydslPredicateExecutor.java diff --git a/src/main/java/org/springframework/data/querydsl/QPageRequest.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QPageRequest.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/QPageRequest.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QPageRequest.java diff --git a/src/main/java/org/springframework/data/querydsl/QSort.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QSort.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/QSort.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QSort.java diff --git a/src/main/java/org/springframework/data/querydsl/QuerydslPredicateExecutor.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslPredicateExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/QuerydslPredicateExecutor.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslPredicateExecutor.java diff --git a/src/main/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapter.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapter.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapter.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapter.java diff --git a/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/QuerydslUtils.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java diff --git a/src/main/java/org/springframework/data/querydsl/ReactiveQuerydslPredicateExecutor.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/ReactiveQuerydslPredicateExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/ReactiveQuerydslPredicateExecutor.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/ReactiveQuerydslPredicateExecutor.java diff --git a/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java diff --git a/src/main/java/org/springframework/data/util/QTypeContributor.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/QTypeContributor.java similarity index 98% rename from src/main/java/org/springframework/data/util/QTypeContributor.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/QTypeContributor.java index edfe719dde..2408cabea2 100644 --- a/src/main/java/org/springframework/data/util/QTypeContributor.java +++ b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/QTypeContributor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.util; +package org.springframework.data.querydsl.aot; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/src/main/java/org/springframework/data/querydsl/aot/QuerydslHints.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/QuerydslHints.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/aot/QuerydslHints.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/QuerydslHints.java diff --git a/src/main/java/org/springframework/data/querydsl/aot/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/aot/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/aot/package-info.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/MultiValueBinding.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/MultiValueBinding.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/MultiValueBinding.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/MultiValueBinding.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/OptionalValueBinding.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/OptionalValueBinding.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/OptionalValueBinding.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/OptionalValueBinding.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/PathInformation.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/PathInformation.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/PathInformation.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/PathInformation.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizer.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizer.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizer.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizer.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizerDefaults.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizerDefaults.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizerDefaults.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBinderCustomizerDefaults.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java similarity index 89% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java index 44ea47f3b8..c07454af2a 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java +++ b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java @@ -30,9 +30,9 @@ * Default implementation of {@link MultiValueBinding} creating {@link Predicate} based on the {@link Path}s type. * Binds: *
    - *
  • {@link java.lang.Object} as {@link SimpleExpression#eq()} on simple properties.
  • - *
  • {@link java.lang.Object} as {@link SimpleExpression#contains()} on collection properties.
  • - *
  • {@link java.util.Collection} as {@link SimpleExpression#in()} on simple properties.
  • + *
  • {@link Object} as {@link SimpleExpression#eq()} on simple properties.
  • + *
  • {@link Object} as {@link SimpleExpression#contains()} on collection properties.
  • + *
  • {@link Collection} as {@link SimpleExpression#in()} on simple properties.
  • *
* * @author Christoph Strobl diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicate.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicate.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicate.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicate.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/SingleValueBinding.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/SingleValueBinding.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/SingleValueBinding.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/SingleValueBinding.java diff --git a/src/main/java/org/springframework/data/querydsl/binding/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/binding/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/binding/package-info.java diff --git a/src/main/java/org/springframework/data/querydsl/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/querydsl/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/querydsl/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/querydsl/package-info.java diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java diff --git a/src/main/java/org/springframework/data/repository/cdi/Eager.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/Eager.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/Eager.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/Eager.java diff --git a/src/main/java/org/springframework/data/repository/cdi/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/repository/cdi/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/repository/cdi/package-info.java diff --git a/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java b/spring-data-commons-support/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java similarity index 100% rename from src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java rename to spring-data-commons-support/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java diff --git a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java b/spring-data-commons-support/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java similarity index 100% rename from src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java rename to spring-data-commons-support/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java diff --git a/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java b/spring-data-commons-support/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java similarity index 100% rename from src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java rename to spring-data-commons-support/src/main/java/org/springframework/data/transaction/SpringTransactionSynchronizationManager.java diff --git a/src/main/java/org/springframework/data/transaction/SynchronizationManager.java b/spring-data-commons-support/src/main/java/org/springframework/data/transaction/SynchronizationManager.java similarity index 100% rename from src/main/java/org/springframework/data/transaction/SynchronizationManager.java rename to spring-data-commons-support/src/main/java/org/springframework/data/transaction/SynchronizationManager.java diff --git a/src/main/java/org/springframework/data/transaction/package-info.java b/spring-data-commons-support/src/main/java/org/springframework/data/transaction/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/transaction/package-info.java rename to spring-data-commons-support/src/main/java/org/springframework/data/transaction/package-info.java diff --git a/spring-data-commons-support/src/main/resources/META-INF/spring/aot.factories b/spring-data-commons-support/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 0000000000..ef94662925 --- /dev/null +++ b/spring-data-commons-support/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=org.springframework.data.querydsl.aot.QuerydslHints diff --git a/spring-data-commons-support/src/main/resources/license.txt b/spring-data-commons-support/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons-support/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons-support/src/main/resources/notice.txt b/spring-data-commons-support/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons-support/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/spring-data-commons-support/src/test/java/TypeInDefaultPackage.java b/spring-data-commons-support/src/test/java/TypeInDefaultPackage.java new file mode 100644 index 0000000000..e1efe5ae27 --- /dev/null +++ b/spring-data-commons-support/src/test/java/TypeInDefaultPackage.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Dummy type to be able to reference the default package. + * + * @author Oliver Gierke + */ +public class TypeInDefaultPackage { + +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/AbstractPageRequestUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/AbstractPageRequestUnitTests.java new file mode 100755 index 0000000000..a1a38d874e --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/AbstractPageRequestUnitTests.java @@ -0,0 +1,124 @@ +/* + * Copyright 2013-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +import org.springframework.data.domain.AbstractPageRequest; +import org.springframework.data.domain.OffsetScrollPosition; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.ScrollPosition; + +/** + * @author Thomas Darimont + * @author Alex Bondarev + */ +public abstract class AbstractPageRequestUnitTests { + + public abstract AbstractPageRequest newPageRequest(int page, int size); + + @Test // DATACMNS-402 + void preventsNegativePage() { + assertThatIllegalArgumentException().isThrownBy(() -> newPageRequest(-1, 10)); + } + + @Test // DATACMNS-402 + void preventsNegativeSize() { + assertThatIllegalArgumentException().isThrownBy(() -> newPageRequest(0, -1)); + } + + @Test // DATACMNS-402 + void navigatesPageablesCorrectly() { + + Pageable request = newPageRequest(1, 10); + + assertThat(request.hasPrevious()).isTrue(); + assertThat(request.next()).isEqualTo((Pageable) newPageRequest(2, 10)); + + var first = request.previousOrFirst(); + + assertThat(first.hasPrevious()).isFalse(); + assertThat(first).isEqualTo(newPageRequest(0, 10)); + assertThat(first).isEqualTo(request.first()); + assertThat(first.previousOrFirst()).isEqualTo(first); + } + + @Test // DATACMNS-402 + void equalsHonoursPageAndSize() { + + var request = newPageRequest(0, 10); + + // Equals itself + assertEqualsAndHashcode(request, request); + + // Equals same setup + assertEqualsAndHashcode(request, newPageRequest(0, 10)); + + // Does not equal on different page + assertNotEqualsAndHashcode(request, newPageRequest(1, 10)); + + // Does not equal on different size + assertNotEqualsAndHashcode(request, newPageRequest(0, 11)); + } + + @Test // DATACMNS-377 + void preventsPageSizeLessThanOne() { + assertThatIllegalArgumentException().isThrownBy(() -> newPageRequest(0, 0)); + } + + @Test // DATACMNS-1327 + void getOffsetShouldNotCauseOverflow() { + + var request = newPageRequest(Integer.MAX_VALUE, Integer.MAX_VALUE); + + assertThat(request.getOffset()).isGreaterThan(Integer.MAX_VALUE); + } + + @Test // GH-2151, GH-3070 + void createsOffsetScrollPosition() { + + assertThat(newPageRequest(0, 10).toScrollPosition()).returns(true, ScrollPosition::isInitial); + assertThat(newPageRequest(1, 10).toScrollPosition()).returns(9L, OffsetScrollPosition::getOffset); + } + + /** + * Asserts that delivered objects both equal each other as well as return the same hash code. + * + * @param first + * @param second + */ + static void assertEqualsAndHashcode(Object first, Object second) { + + assertThat(first).isEqualTo(second); + assertThat(second).isEqualTo(first); + assertThat(first.hashCode()).isEqualTo(second.hashCode()); + } + + /** + * Asserts that both objects are not equal to each other and differ in hash code, too. + * + * @param first + * @param second + */ + static void assertNotEqualsAndHashcode(Object first, Object second) { + + assertThat(first).isNotEqualTo(second); + assertThat(second).isNotEqualTo(first); + assertThat(first.hashCode()).isNotEqualTo(second.hashCode()); + } +} diff --git a/src/test/java/org/springframework/data/querydsl/Address.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/Address.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/Address.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/Address.java diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/DummyRepositoryFactory.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/DummyRepositoryFactory.java new file mode 100644 index 0000000000..f70303419c --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/DummyRepositoryFactory.java @@ -0,0 +1,131 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl; + +import static org.mockito.Mockito.*; + +import java.lang.reflect.Method; +import java.util.Optional; +import java.util.function.Supplier; + +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; + +import org.springframework.beans.factory.BeanFactory; +import org.springframework.core.metrics.ApplicationStartup; +import org.springframework.core.metrics.StartupStep; +import org.springframework.data.projection.ProjectionFactory; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.NamedQueries; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.RepositoryComposition; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; +import org.springframework.data.repository.query.QueryLookupStrategy; +import org.springframework.data.repository.query.QueryLookupStrategy.Key; +import org.springframework.data.repository.query.RepositoryQuery; +import org.springframework.data.repository.query.ValueExpressionDelegate; + +/** + * Dummy implementation for {@link RepositoryFactorySupport} that is equipped with mocks to simulate behavior for test + * cases. + * + * @author Oliver Gierke + * @author Christoph Strobl + */ +public class DummyRepositoryFactory extends RepositoryFactorySupport { + + public final MyRepositoryQuery queryOne = mock(MyRepositoryQuery.class); + public final QueryLookupStrategy strategy = mock(QueryLookupStrategy.class); + @SuppressWarnings("unchecked") private final QuerydslPredicateExecutor querydsl = mock( + QuerydslPredicateExecutor.class); + + private final ApplicationStartup applicationStartup; + + private final Object repository; + + public DummyRepositoryFactory(Object repository) { + + this.repository = repository; + + when(strategy.resolveQuery(Mockito.any(Method.class), Mockito.any(RepositoryMetadata.class), + Mockito.any(ProjectionFactory.class), Mockito.any(NamedQueries.class))).thenReturn(queryOne); + + this.applicationStartup = mock(ApplicationStartup.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); + + var beanFactory = Mockito.mock(BeanFactory.class); + when(beanFactory.getBean(ApplicationStartup.class)).thenReturn(applicationStartup); + setBeanFactory(beanFactory); + } + + @Override + public EntityInformation getEntityInformation(RepositoryMetadata metadata) { + return mock(EntityInformation.class); + } + + @Override + protected Object getTargetRepository(RepositoryInformation information) { + return repository; + } + + @Override + protected Class getRepositoryBaseClass(RepositoryMetadata metadata) { + return repository.getClass(); + } + + @Override + protected Optional getQueryLookupStrategy(Key key, + ValueExpressionDelegate valueExpressionDelegate) { + return Optional.of(strategy); + } + + @Override + protected RepositoryMetadata getRepositoryMetadata(Class repositoryInterface) { + return super.getRepositoryMetadata(repositoryInterface); + } + + @Override + protected RepositoryInformation getRepositoryInformation(RepositoryMetadata metadata, + RepositoryComposition.RepositoryFragments fragments) { + return super.getRepositoryInformation(metadata, fragments); + } + + @Override + protected RepositoryComposition.RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { + + var fragments = super.getRepositoryFragments(metadata); + + return QuerydslPredicateExecutor.class.isAssignableFrom(metadata.getRepositoryInterface()) // + ? fragments.append(RepositoryComposition.RepositoryFragments.just(querydsl, new Object())) // + : fragments; + } + + ApplicationStartup getApplicationStartup() { + return this.applicationStartup; + } + + /** + * @author Mark Paluch + */ + public interface MyRepositoryQuery extends RepositoryQuery { + + } + +} diff --git a/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java index 579d7320db..59acd63ec5 100755 --- a/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java @@ -19,7 +19,6 @@ import org.junit.jupiter.api.Test; import org.springframework.data.domain.AbstractPageRequest; -import org.springframework.data.domain.AbstractPageRequestUnitTests; /** * Unit tests for {@link QPageRequest}. diff --git a/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java similarity index 85% rename from src/test/java/org/springframework/data/querydsl/QSortUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java index b739b487aa..2cd396c1d9 100755 --- a/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java @@ -53,7 +53,7 @@ void sortBySingleProperty() { assertThat(qsort.getOrderSpecifiers()).hasSize(1); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); - assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Sort.Order(Sort.Direction.ASC, "firstname")); + assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Order(Direction.ASC, "firstname")); } @Test // DATACMNS-402 @@ -65,8 +65,8 @@ void sortByMultiplyProperties() { assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); assertThat(qsort.getOrderSpecifiers().get(1)).isEqualTo(user.lastname.desc()); - assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Sort.Order(Sort.Direction.ASC, "firstname")); - assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Sort.Order(Sort.Direction.DESC, "lastname")); + assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Order(Direction.ASC, "firstname")); + assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Order(Direction.DESC, "lastname")); } @Test // DATACMNS-402 @@ -78,8 +78,8 @@ void sortByMultiplyPropertiesWithAnd() { assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); assertThat(qsort.getOrderSpecifiers().get(1)).isEqualTo(user.lastname.desc()); - assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Sort.Order(Sort.Direction.ASC, "firstname")); - assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Sort.Order(Sort.Direction.DESC, "lastname")); + assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Order(Direction.ASC, "firstname")); + assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Order(Direction.DESC, "lastname")); } @Test // DATACMNS-402 @@ -91,8 +91,8 @@ void sortByMultiplyPropertiesWithAndAndVarArgs() { assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); assertThat(qsort.getOrderSpecifiers().get(1)).isEqualTo(user.lastname.desc()); - assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Sort.Order(Sort.Direction.ASC, "firstname")); - assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Sort.Order(Sort.Direction.DESC, "lastname")); + assertThat(qsort.getOrderFor("firstname")).isEqualTo(new Order(Direction.ASC, "firstname")); + assertThat(qsort.getOrderFor("lastname")).isEqualTo(new Order(Direction.DESC, "lastname")); } @Test // DATACMNS-402 @@ -103,8 +103,8 @@ void ensureInteroperabilityWithSort() { Sort sort = qsort; - assertThat(sort.getOrderFor("firstname")).isEqualTo(new Sort.Order(Sort.Direction.ASC, "firstname")); - assertThat(sort.getOrderFor("lastname")).isEqualTo(new Sort.Order(Sort.Direction.DESC, "lastname")); + assertThat(sort.getOrderFor("firstname")).isEqualTo(new Order(Direction.ASC, "firstname")); + assertThat(sort.getOrderFor("lastname")).isEqualTo(new Order(Direction.DESC, "lastname")); } @Test // DATACMNS-402 diff --git a/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/QuerydslUtilsUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QuerydslUtilsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/QuerydslUtilsUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/QuerydslUtilsUnitTests.java diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/RepositoryFactorySupportUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/RepositoryFactorySupportUnitTests.java new file mode 100755 index 0000000000..4af3fa0bc1 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/RepositoryFactorySupportUnitTests.java @@ -0,0 +1,137 @@ +/* + * Copyright 2011-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.*; + +import java.util.Map; +import java.util.concurrent.Future; + +import org.jspecify.annotations.Nullable; +import org.junit.jupiter.api.BeforeEach; +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.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; + +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.Repository; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.RepositoryComposition.RepositoryFragments; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; +import org.springframework.data.repository.core.support.UnsupportedFragmentException; +import org.springframework.data.repository.query.ReactiveQueryByExampleExecutor; +import org.springframework.test.util.ReflectionTestUtils; + +/** + * Unit tests for {@link RepositoryFactorySupport}. + * + * @author Oliver Gierke + * @author Mark Paluch + * @author Ariel Carrera + * @author Johannes Englmeier + */ +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) +class RepositoryFactorySupportUnitTests { + + DummyRepositoryFactory factory; + + @Mock CrudRepository backingRepo; + + @BeforeEach + void setUp() { + factory = new DummyRepositoryFactory(backingRepo); + } + + @Test + void cachesRepositoryInformation() { + + var repository1 = factory.getRepository(ObjectAndQuerydslRepository.class, backingRepo); + var repository2 = factory.getRepository(ObjectAndQuerydslRepository.class, backingRepo); + repository1.findByFoo(null); + repository2.deleteAll(); + + for (int i = 0; i < 10; i++) { + RepositoryFragments fragments = RepositoryFragments.just(backingRepo); + RepositoryMetadata metadata = factory.getRepositoryMetadata(ObjectAndQuerydslRepository.class); + factory.getRepositoryInformation(metadata, fragments); + } + + Map cache = (Map) ReflectionTestUtils.getField(factory, + "repositoryInformationCache"); + + assertThat(cache).hasSize(1); + } + + @Test // GH-2341 + void dummyRepositoryShouldsupportQuerydsl() { + factory.getRepository(WithQuerydsl.class, backingRepo); + } + + @Test // GH-2341 + void dummyRepositoryNotSupportingReactiveQuerydslShouldRaiseException() { + assertThatThrownBy(() -> factory.getRepository(WithReactiveQuerydsl.class, backingRepo)) + .isInstanceOf(UnsupportedFragmentException.class).hasMessage( + "Repository org.springframework.data.querydsl.RepositoryFactorySupportUnitTests$WithReactiveQuerydsl implements org.springframework.data.repository.query.ReactiveQueryByExampleExecutor but DummyRepositoryFactory does not support Reactive Query by Example"); + } + + private void expect(Future future, Object value) throws Exception { + + assertThat(future.isDone()).isFalse(); + + while (!future.isDone()) { + Thread.sleep(50); + } + + assertThat(future.get()).isEqualTo(value); + + verify(factory.queryOne, times(1)).execute(any(Object[].class)); + } + + interface ObjectAndQuerydslRepository extends ObjectRepository, QuerydslPredicateExecutor { + + } + + interface ObjectRepository extends Repository, ObjectRepositoryCustom { + + @org.jspecify.annotations.Nullable + Object findByFoo(@org.jspecify.annotations.Nullable Object foo); + + } + + interface ObjectRepositoryCustom { + + @Nullable + Object findById(Object id); + + void deleteAll(); + } + + interface WithQuerydsl extends Repository, QuerydslPredicateExecutor { + + } + + interface WithReactiveQuerydsl extends Repository, ReactiveQueryByExampleExecutor { + + } + +} diff --git a/src/test/java/org/springframework/data/querydsl/SimpleEntityPathResolverUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/SimpleEntityPathResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/SimpleEntityPathResolverUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/SimpleEntityPathResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/User.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/User.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/User.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/User.java diff --git a/src/test/java/org/springframework/data/querydsl/UserWrapper.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/UserWrapper.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/UserWrapper.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/UserWrapper.java diff --git a/src/test/java/org/springframework/data/querydsl/Users.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/Users.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/Users.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/Users.java diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/ConfigWithQuerydslPredicateExecutor.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/ConfigWithQuerydslPredicateExecutor.java new file mode 100644 index 0000000000..b9a136863b --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/ConfigWithQuerydslPredicateExecutor.java @@ -0,0 +1,44 @@ +/* + * Copyright 2022-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import org.springframework.context.annotation.ComponentScan.Filter; +import org.springframework.context.annotation.FilterType; +import org.springframework.data.repository.CrudRepository; + +/** + * @author Christoph Strobl + */ +@EnableRepositories( + includeFilters = { + @Filter(type = FilterType.ASSIGNABLE_TYPE, value = ConfigWithQuerydslPredicateExecutor.MyRepo.class) }, + basePackageClasses = ConfigWithQuerydslPredicateExecutor.class, considerNestedRepositories = true) +public class ConfigWithQuerydslPredicateExecutor { + + public interface MyRepo extends CrudRepository /* TODO SPLIT , QuerydslPredicateExecutor */ { + + } + + public static class Person { + + Address address; + + } + + public static class Address { + String street; + } +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyConfigurationExtension.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyConfigurationExtension.java new file mode 100644 index 0000000000..a997e43d04 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyConfigurationExtension.java @@ -0,0 +1,35 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport; + +/** + * @author Christoph Strobl + * @since 2022/04 + */ +class DummyConfigurationExtension extends RepositoryConfigurationExtensionSupport { + + @Override + public String getRepositoryFactoryBeanClassName() { + return DummyRepositoryFactoryBean.class.getName(); + } + + @Override + public String getModulePrefix() { + return "commons"; + } +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRegistrar.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRegistrar.java new file mode 100644 index 0000000000..ef50780e0b --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRegistrar.java @@ -0,0 +1,39 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import java.lang.annotation.Annotation; + +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport; +import org.springframework.data.repository.config.RepositoryConfigurationExtension; + +class DummyRegistrar extends RepositoryBeanDefinitionRegistrarSupport { + + DummyRegistrar() { + setResourceLoader(new DefaultResourceLoader()); + } + + @Override + protected Class getAnnotation() { + return EnableRepositories.class; + } + + @Override + protected RepositoryConfigurationExtension getExtension() { + return new DummyConfigurationExtension(); + } +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactory.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactory.java new file mode 100644 index 0000000000..d2466c80d8 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactory.java @@ -0,0 +1,124 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import static org.mockito.Mockito.*; + +import java.lang.reflect.Method; +import java.util.Optional; +import java.util.function.Supplier; + +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; + +import org.springframework.beans.factory.BeanFactory; +import org.springframework.core.metrics.ApplicationStartup; +import org.springframework.core.metrics.StartupStep; +import org.springframework.data.projection.ProjectionFactory; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.NamedQueries; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.RepositoryComposition; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; +import org.springframework.data.repository.query.QueryLookupStrategy; +import org.springframework.data.repository.query.QueryLookupStrategy.Key; +import org.springframework.data.repository.query.RepositoryQuery; +import org.springframework.data.repository.query.ValueExpressionDelegate; + +/** + * Dummy implementation for {@link RepositoryFactorySupport} that is equipped with mocks to simulate behavior for test + * cases. + * + * @author Oliver Gierke + * @author Christoph Strobl + */ +public class DummyRepositoryFactory extends RepositoryFactorySupport { + + public final MyRepositoryQuery queryOne = mock(MyRepositoryQuery.class); + public final RepositoryQuery queryTwo = mock(RepositoryQuery.class); + public final QueryLookupStrategy strategy = mock(QueryLookupStrategy.class); + + private final ApplicationStartup applicationStartup; + + private final Object repository; + + public DummyRepositoryFactory(Object repository) { + + this.repository = repository; + + when(strategy.resolveQuery(Mockito.any(Method.class), Mockito.any(RepositoryMetadata.class), + Mockito.any(ProjectionFactory.class), Mockito.any(NamedQueries.class))).thenReturn(queryOne); + + this.applicationStartup = mock(ApplicationStartup.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); + + var beanFactory = Mockito.mock(BeanFactory.class); + when(beanFactory.getBean(ApplicationStartup.class)).thenReturn(applicationStartup); + setBeanFactory(beanFactory); + } + + @Override + public EntityInformation getEntityInformation(RepositoryMetadata metadata) { + return mock(EntityInformation.class); + } + + @Override + protected Object getTargetRepository(RepositoryInformation information) { + return repository; + } + + @Override + protected Class getRepositoryBaseClass(RepositoryMetadata metadata) { + return repository.getClass(); + } + + @Override + protected Optional getQueryLookupStrategy(Key key, + ValueExpressionDelegate valueExpressionDelegate) { + return Optional.of(strategy); + } + + @Override + protected RepositoryComposition.RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { + return super.getRepositoryFragments(metadata); + } + + @Override + protected RepositoryMetadata getRepositoryMetadata(Class repositoryInterface) { + return super.getRepositoryMetadata(repositoryInterface); + } + + @Override + protected RepositoryInformation getRepositoryInformation(RepositoryMetadata metadata, RepositoryComposition.RepositoryFragments fragments) { + return super.getRepositoryInformation(metadata, fragments); + } + + ApplicationStartup getApplicationStartup() { + return this.applicationStartup; + } + + /** + * @author Mark Paluch + */ + public interface MyRepositoryQuery extends RepositoryQuery { + + } + +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactoryBean.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactoryBean.java new file mode 100644 index 0000000000..696daa5106 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/DummyRepositoryFactoryBean.java @@ -0,0 +1,60 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import static org.mockito.Mockito.*; + +import java.io.Serializable; + +import org.springframework.data.repository.Repository; +import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; +import org.springframework.data.repository.core.support.RepositoryFragmentsContributor; + +/** + * @author Oliver Gierke + */ +public class DummyRepositoryFactoryBean, S, ID extends Serializable> + extends RepositoryFactoryBeanSupport { + + private final T repository; + private RepositoryFragmentsContributor repositoryFragmentsContributor = RepositoryFragmentsContributor.empty(); + + public DummyRepositoryFactoryBean(Class repositoryInterface) { + + super(repositoryInterface); + + this.repository = mock(repositoryInterface); + } + + public T getRepository() { + return repository; + } + + @Override + public RepositoryFragmentsContributor getRepositoryFragmentsContributor() { + return repositoryFragmentsContributor; + } + + public void setRepositoryFragmentsContributor(RepositoryFragmentsContributor repositoryFragmentsContributor) { + this.repositoryFragmentsContributor = repositoryFragmentsContributor; + } + + @Override + protected RepositoryFactorySupport createRepositoryFactory() { + return new DummyRepositoryFactory(repository); + } +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/EnableRepositories.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/EnableRepositories.java new file mode 100644 index 0000000000..578d106b56 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/EnableRepositories.java @@ -0,0 +1,58 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +import org.springframework.beans.factory.support.BeanNameGenerator; +import org.springframework.context.annotation.ComponentScan.Filter; +import org.springframework.context.annotation.Import; +import org.springframework.data.repository.PagingAndSortingRepository; +import org.springframework.data.repository.config.BootstrapMode; + +@Retention(RetentionPolicy.RUNTIME) +@Import(DummyRegistrar.class) +@Inherited +public @interface EnableRepositories { + + String[] value() default {}; + + String[] basePackages() default {}; + + Class[] basePackageClasses() default {}; + + Filter[] includeFilters() default {}; + + Filter[] excludeFilters() default {}; + + Class repositoryFactoryBeanClass() default DummyRepositoryFactoryBean.class; + + Class repositoryBaseClass() default PagingAndSortingRepository.class; + + Class nameGenerator() default BeanNameGenerator.class; + + String namedQueriesLocation() default ""; + + String repositoryImplementationPostfix() default "Impl"; + + boolean considerNestedRepositories() default false; + + boolean limitImplementationBasePackages() default true; + + BootstrapMode bootstrapMode() default BootstrapMode.DEFAULT; +} diff --git a/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/Person.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/Person.java new file mode 100644 index 0000000000..f73e3f3210 --- /dev/null +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/Person.java @@ -0,0 +1,22 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.querydsl.aot; + +/** + * @author Mark Paluch + */ +class Person { +} diff --git a/src/test/java/org/springframework/data/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QConfigWithQuerydslPredicateExecutor_Person.java similarity index 72% rename from src/test/java/org/springframework/data/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QConfigWithQuerydslPredicateExecutor_Person.java index 7a3bba4826..12db988b8c 100644 --- a/src/test/java/org/springframework/data/aot/sample/QConfigWithQuerydslPredicateExecutor_Person.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QConfigWithQuerydslPredicateExecutor_Person.java @@ -13,15 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot.sample; +package org.springframework.data.querydsl.aot; -import org.springframework.data.aot.sample.ConfigWithQuerydslPredicateExecutor.Person; -import com.querydsl.core.types.dsl.EntityPathBase; - -public class QConfigWithQuerydslPredicateExecutor_Person extends EntityPathBase { +public class QConfigWithQuerydslPredicateExecutor_Person { /* TODO SPLIT extends EntityPathBase public QConfigWithQuerydslPredicateExecutor_Person(Class type, String variable) { super(type, variable); } + */ } diff --git a/src/test/java/org/springframework/data/util/QTypeContributorUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QTypeContributorUnitTests.java similarity index 91% rename from src/test/java/org/springframework/data/util/QTypeContributorUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QTypeContributorUnitTests.java index af0bebc5ad..b3c7e9dbbd 100644 --- a/src/test/java/org/springframework/data/util/QTypeContributorUnitTests.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/aot/QTypeContributorUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,24 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.util; +package org.springframework.data.querydsl.aot; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatNoException; +import static org.assertj.core.api.Assertions.*; import java.net.URLClassLoader; import java.util.HashSet; import java.util.Set; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; + import org.springframework.aot.generate.ClassNameGenerator; import org.springframework.aot.generate.DefaultGenerationContext; import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.generate.InMemoryGeneratedFiles; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; -import org.springframework.data.aot.sample.ConfigWithQuerydslPredicateExecutor.Person; -import org.springframework.data.aot.sample.QConfigWithQuerydslPredicateExecutor_Person; -import org.springframework.data.classloadersupport.HidingClassLoader; +import org.springframework.data.test.classloadersupport.HidingClassLoader; import org.springframework.javapoet.ClassName; import com.querydsl.core.types.EntityPath; @@ -41,6 +40,7 @@ * @author Christoph Strobl * @author ckdgus08 */ +@Disabled("TODO SPLIT") class QTypeContributorUnitTests { @Test // GH-2721 diff --git a/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java index 0aa006aec9..bc7fcb681f 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java @@ -124,7 +124,6 @@ void rejectsPredicateResolutionIfDomainTypeCantBeAutoDetected() { .isThrownBy(() -> factory.createBindingsFor(TypeInformation.of(ModelAndView.class)))// .withMessageContaining(QuerydslPredicate.class.getSimpleName())// .withMessageContaining("root"); - } static class SpecificBinding implements QuerydslBinderCustomizer { diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java diff --git a/src/test/java/org/springframework/data/querydsl/suffix/QUser.java b/spring-data-commons-support/src/test/java/org/springframework/data/querydsl/suffix/QUser.java similarity index 100% rename from src/test/java/org/springframework/data/querydsl/suffix/QUser.java rename to spring-data-commons-support/src/test/java/org/springframework/data/querydsl/suffix/QUser.java diff --git a/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterface.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterface.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterface.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterface.java diff --git a/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterfaceImpl.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterfaceImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterfaceImpl.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherFragmentInterfaceImpl.java diff --git a/src/test/java/org/springframework/data/repository/cdi/AnotherRepository.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/AnotherRepository.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepository.java diff --git a/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryCustom.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryCustom.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryCustom.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryCustom.java diff --git a/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryImpl.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryImpl.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/AnotherRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java index c50dac2272..690ce49660 100755 --- a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,6 @@ import org.springframework.data.repository.config.ImplementationLookupConfiguration; import org.springframework.data.repository.core.NamedQueries; import org.springframework.data.repository.core.RepositoryInformation; -import org.springframework.data.repository.core.support.DummyRepositoryFactory; import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries; import org.springframework.data.repository.core.support.QueryCreationListener; import org.springframework.data.repository.core.support.RepositoryFactorySupport; diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/cdi/ComposedRepository.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/ComposedRepository.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepository.java diff --git a/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryCustom.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryCustom.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryCustom.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryCustom.java diff --git a/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryImpl.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryImpl.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/ComposedRepositoryImpl.java diff --git a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java similarity index 95% rename from src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java index ea67db0277..9ab25d22a9 100644 --- a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,7 +31,6 @@ import org.apache.webbeans.context.AbstractContext; import org.mockito.Mockito; import org.springframework.data.repository.config.CustomRepositoryImplementationDetector; -import org.springframework.data.repository.core.support.DummyRepositoryFactory; /** * Dummy extension of {@link CdiRepositoryExtensionSupport} to allow integration tests. Will create mocks for repository diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyRepositoryFactory.java similarity index 97% rename from src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyRepositoryFactory.java index dd7a51886f..1837bc6af7 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java +++ b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/DummyRepositoryFactory.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.core.support; +package org.springframework.data.repository.cdi; import static org.mockito.Mockito.*; @@ -34,6 +34,7 @@ import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.RepositoryComposition.RepositoryFragments; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.repository.query.RepositoryQuery; diff --git a/src/test/java/org/springframework/data/repository/cdi/FragmentInterface.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/FragmentInterface.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/FragmentInterface.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/FragmentInterface.java diff --git a/src/test/java/org/springframework/data/repository/cdi/FragmentInterfaceImpl.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/FragmentInterfaceImpl.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/FragmentInterfaceImpl.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/FragmentInterfaceImpl.java diff --git a/src/test/java/org/springframework/data/repository/cdi/RepositoryClient.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryClient.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/RepositoryClient.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryClient.java diff --git a/src/test/java/org/springframework/data/repository/cdi/RepositoryFragments.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryFragments.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/RepositoryFragments.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryFragments.java diff --git a/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/cdi/SampleRepository.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/SampleRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/SampleRepository.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/SampleRepository.java diff --git a/src/test/java/org/springframework/data/repository/cdi/StereotypeAnnotation.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/StereotypeAnnotation.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/StereotypeAnnotation.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/StereotypeAnnotation.java diff --git a/src/test/java/org/springframework/data/repository/cdi/WebbeansCdiRepositoryExtensionSupportIntegrationTests.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/WebbeansCdiRepositoryExtensionSupportIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/WebbeansCdiRepositoryExtensionSupportIntegrationTests.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/WebbeansCdiRepositoryExtensionSupportIntegrationTests.java diff --git a/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterface.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterface.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterface.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterface.java diff --git a/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterfaceFoo.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterfaceFoo.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterfaceFoo.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/FragmentInterfaceFoo.java diff --git a/src/test/java/org/springframework/data/repository/cdi/isolated/IsolatedComposedRepository.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/IsolatedComposedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/isolated/IsolatedComposedRepository.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/IsolatedComposedRepository.java diff --git a/src/test/java/org/springframework/data/repository/cdi/isolated/MyCdiConfiguration.java b/spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/MyCdiConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/repository/cdi/isolated/MyCdiConfiguration.java rename to spring-data-commons-support/src/test/java/org/springframework/data/repository/cdi/isolated/MyCdiConfiguration.java diff --git a/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension b/spring-data-commons-support/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension similarity index 100% rename from src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension rename to spring-data-commons-support/src/test/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension diff --git a/spring-data-commons-support/src/test/resources/logback.xml b/spring-data-commons-support/src/test/resources/logback.xml new file mode 100644 index 0000000000..bccb2dc4fa --- /dev/null +++ b/spring-data-commons-support/src/test/resources/logback.xml @@ -0,0 +1,14 @@ + + + + + + %d %5p %40.40c:%4L - %m%n + + + + + + + + \ No newline at end of file diff --git a/spring-data-commons-support/src/test/resources/persistent-entity.properties b/spring-data-commons-support/src/test/resources/persistent-entity.properties new file mode 100644 index 0000000000..89c335b615 --- /dev/null +++ b/spring-data-commons-support/src/test/resources/persistent-entity.properties @@ -0,0 +1 @@ +my-type.name=foo diff --git a/spring-data-commons-test/pom.xml b/spring-data-commons-test/pom.xml new file mode 100644 index 0000000000..e7d0c72aa3 --- /dev/null +++ b/spring-data-commons-test/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + spring-data-commons-test + 4.0.0-SNAPSHOT + + Spring Data Commons Test Support + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework + spring-core + + + + org.springframework + spring-beans + + + + org.springframework + spring-context + + + + org.springframework + spring-core-test + + + + org.assertj + assertj-core + ${assertj} + compile + + + + org.junit.jupiter + junit-jupiter-api + compile + + + + org.junit.platform + junit-platform-launcher + compile + + + + org.mockito + mockito-core + ${mockito} + compile + + + + diff --git a/src/test/java/org/springframework/data/aot/BeanRegistrationContributionAssert.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/BeanRegistrationContributionAssert.java similarity index 97% rename from src/test/java/org/springframework/data/aot/BeanRegistrationContributionAssert.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/aot/BeanRegistrationContributionAssert.java index 9fefdf4cd2..a06edd2319 100644 --- a/src/test/java/org/springframework/data/aot/BeanRegistrationContributionAssert.java +++ b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/BeanRegistrationContributionAssert.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot; +package org.springframework.data.test.aot; import static org.mockito.Mockito.*; diff --git a/src/test/java/org/springframework/data/aot/CodeContributionAssert.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/CodeContributionAssert.java similarity index 97% rename from src/test/java/org/springframework/data/aot/CodeContributionAssert.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/aot/CodeContributionAssert.java index 1bf8817bb8..d7311dd942 100644 --- a/src/test/java/org/springframework/data/aot/CodeContributionAssert.java +++ b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/CodeContributionAssert.java @@ -13,15 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot; +package org.springframework.data.test.aot; -import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.*; import java.lang.reflect.Method; import java.util.Arrays; import java.util.stream.Stream; import org.assertj.core.api.AbstractAssert; + import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.hint.JdkProxyHint; import org.springframework.aot.hint.TypeReference; diff --git a/src/test/java/org/springframework/data/aot/JdkProxyAssert.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/JdkProxyAssert.java similarity index 97% rename from src/test/java/org/springframework/data/aot/JdkProxyAssert.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/aot/JdkProxyAssert.java index 988a684fcf..d118be49d7 100644 --- a/src/test/java/org/springframework/data/aot/JdkProxyAssert.java +++ b/spring-data-commons-test/src/main/java/org/springframework/data/test/aot/JdkProxyAssert.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.aot; +package org.springframework.data.test.aot; import static org.assertj.core.api.Assertions.*; diff --git a/src/test/java/org/springframework/data/classloadersupport/HidingClassLoader.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/classloadersupport/HidingClassLoader.java similarity index 96% rename from src/test/java/org/springframework/data/classloadersupport/HidingClassLoader.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/classloadersupport/HidingClassLoader.java index f4eded5215..40434e82a6 100644 --- a/src/test/java/org/springframework/data/classloadersupport/HidingClassLoader.java +++ b/spring-data-commons-test/src/main/java/org/springframework/data/test/classloadersupport/HidingClassLoader.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2025 the original author or authors. + * Copyright 2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.classloadersupport; +package org.springframework.data.test.classloadersupport; import java.net.URLClassLoader; import java.util.Arrays; diff --git a/src/test/java/org/springframework/data/test/util/ClassPathExclusions.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/util/ClassPathExclusions.java similarity index 100% rename from src/test/java/org/springframework/data/test/util/ClassPathExclusions.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/util/ClassPathExclusions.java diff --git a/src/test/java/org/springframework/data/test/util/ClassPathExclusionsExtension.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/util/ClassPathExclusionsExtension.java similarity index 100% rename from src/test/java/org/springframework/data/test/util/ClassPathExclusionsExtension.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/util/ClassPathExclusionsExtension.java diff --git a/src/test/java/org/springframework/data/test/util/PackageExcludingClassLoader.java b/spring-data-commons-test/src/main/java/org/springframework/data/test/util/PackageExcludingClassLoader.java similarity index 100% rename from src/test/java/org/springframework/data/test/util/PackageExcludingClassLoader.java rename to spring-data-commons-test/src/main/java/org/springframework/data/test/util/PackageExcludingClassLoader.java diff --git a/spring-data-commons-web/pom.xml b/spring-data-commons-web/pom.xml new file mode 100644 index 0000000000..fe0ca07159 --- /dev/null +++ b/spring-data-commons-web/pom.xml @@ -0,0 +1,334 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-commons-web + 4.0.0-SNAPSHOT + + Spring Data Commons Web + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-mapping + ${project.version} + + + + org.springframework.data + spring-data-commons-repository + ${project.version} + + + + org.springframework.data + spring-data-commons-support + ${project.version} + true + + + + org.springframework + spring-context + true + + + + org.springframework.hateoas + spring-hateoas + ${spring-hateoas} + true + + + + org.springframework + spring-web + true + + + + org.springframework + spring-webmvc + true + + + + org.springframework + spring-webflux + true + + + + com.fasterxml.jackson.core + jackson-databind + true + + + + tools.jackson.core + jackson-databind + true + + + + org.springframework + spring-core-test + test + + + + org.springframework.data + spring-data-commons-test + ${project.version} + test + + + + jakarta.servlet + jakarta.servlet-api + provided + + + + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb} + provided + + + + jakarta.annotation + jakarta.annotation-api + ${jakarta-annotation-api} + true + + + + com.google.code.findbugs + jsr305 + 3.0.2 + true + + + + + + io.projectreactor + reactor-core + true + + + + io.projectreactor + reactor-test + test + + + + + io.reactivex.rxjava3 + rxjava + ${rxjava3} + true + + + + io.smallrye.reactive + mutiny + ${smallrye-mutiny} + true + + + + + com.querydsl + querydsl-core + ${querydsl} + true + + + + com.querydsl + querydsl-collections + ${querydsl} + true + + + + com.google.guava + guava + ${guava} + true + + + + io.vavr + vavr + ${vavr} + true + + + + + org.eclipse.collections + eclipse-collections-api + ${eclipse-collections} + true + + + + org.eclipse.collections + eclipse-collections + ${eclipse-collections} + test + + + + + com.sun.xml.bind + jaxb-impl + 3.0.2 + test + + + + xmlunit + xmlunit + 1.6 + test + + + + + org.codehaus.groovy + groovy-all + 2.4.21 + test + + + + + org.jetbrains.kotlin + kotlin-stdlib + true + + + + org.jetbrains.kotlin + kotlin-reflect + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-core + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactive + true + + + + org.jetbrains.kotlinx + kotlinx-coroutines-reactor + true + + + + org.jetbrains.kotlin + kotlin-test-junit5 + ${kotlin} + test + + + + io.mockk + mockk-jvm + ${mockk} + test + + + + + org.scala-lang + scala-library + ${scala} + true + + + + jakarta.transaction + jakarta.transaction-api + 2.0.0 + test + + + + com.jayway.jsonpath + json-path + ${jsonpath} + true + + + + org.xmlbeam + xmlprojector + ${xmlbeam} + true + + + + com.tngtech.archunit + archunit + ${archunit} + test + + + + org.jmolecules.integrations + jmolecules-spring + ${jmolecules-integration} + true + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + java-test-compile + + + + com.querydsl + querydsl-apt + ${querydsl} + general + + + + + + + + + + diff --git a/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/JsonPath.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/JsonPath.java similarity index 100% rename from src/main/java/org/springframework/data/web/JsonPath.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/JsonPath.java diff --git a/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java similarity index 100% rename from src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java diff --git a/src/main/java/org/springframework/data/web/MapDataBinder.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/MapDataBinder.java similarity index 100% rename from src/main/java/org/springframework/data/web/MapDataBinder.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/MapDataBinder.java diff --git a/src/main/java/org/springframework/data/web/OffsetScrollPositionArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/OffsetScrollPositionArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverSupport.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverSupport.java similarity index 100% rename from src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverSupport.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverSupport.java diff --git a/src/main/java/org/springframework/data/web/PageableArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PageableArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/PageableArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PageableArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/PageableDefault.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PageableDefault.java similarity index 100% rename from src/main/java/org/springframework/data/web/PageableDefault.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PageableDefault.java diff --git a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java similarity index 100% rename from src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java diff --git a/src/main/java/org/springframework/data/web/PageableMethodParameterUtils.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PageableMethodParameterUtils.java similarity index 100% rename from src/main/java/org/springframework/data/web/PageableMethodParameterUtils.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PageableMethodParameterUtils.java diff --git a/src/main/java/org/springframework/data/web/PagedModel.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PagedModel.java similarity index 100% rename from src/main/java/org/springframework/data/web/PagedModel.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PagedModel.java diff --git a/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java similarity index 100% rename from src/main/java/org/springframework/data/web/PagedResourcesAssembler.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java diff --git a/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/ProjectedPayload.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectedPayload.java similarity index 100% rename from src/main/java/org/springframework/data/web/ProjectedPayload.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectedPayload.java diff --git a/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java similarity index 100% rename from src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java diff --git a/src/main/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverter.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverter.java similarity index 100% rename from src/main/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverter.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverter.java diff --git a/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/SlicedResourcesAssembler.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SlicedResourcesAssembler.java similarity index 100% rename from src/main/java/org/springframework/data/web/SlicedResourcesAssembler.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SlicedResourcesAssembler.java diff --git a/src/main/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/SortArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SortArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/SortArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SortArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/SortDefault.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SortDefault.java similarity index 100% rename from src/main/java/org/springframework/data/web/SortDefault.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SortDefault.java diff --git a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java similarity index 100% rename from src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java diff --git a/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java similarity index 100% rename from src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java diff --git a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java similarity index 100% rename from src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java diff --git a/src/main/java/org/springframework/data/web/aot/WebRuntimeHints.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/aot/WebRuntimeHints.java similarity index 100% rename from src/main/java/org/springframework/data/web/aot/WebRuntimeHints.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/aot/WebRuntimeHints.java diff --git a/src/main/java/org/springframework/data/web/config/EnableSpringDataWebSupport.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/EnableSpringDataWebSupport.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/EnableSpringDataWebSupport.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/EnableSpringDataWebSupport.java diff --git a/src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java diff --git a/src/main/java/org/springframework/data/web/config/OffsetScrollPositionHandlerMethodArgumentResolverCustomizer.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/OffsetScrollPositionHandlerMethodArgumentResolverCustomizer.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/OffsetScrollPositionHandlerMethodArgumentResolverCustomizer.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/OffsetScrollPositionHandlerMethodArgumentResolverCustomizer.java diff --git a/src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java diff --git a/src/main/java/org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.java diff --git a/src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java diff --git a/src/main/java/org/springframework/data/web/config/ReactiveQuerydslWebConfiguration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/ReactiveQuerydslWebConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/ReactiveQuerydslWebConfiguration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/ReactiveQuerydslWebConfiguration.java diff --git a/src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJackson3Configuration.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJackson3Modules.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJackson3Modules.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataJackson3Modules.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJackson3Modules.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJacksonConfiguration.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataJacksonModules.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJacksonModules.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataJacksonModules.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataJacksonModules.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java diff --git a/src/main/java/org/springframework/data/web/config/SpringDataWebSettings.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataWebSettings.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/SpringDataWebSettings.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/SpringDataWebSettings.java diff --git a/src/main/java/org/springframework/data/web/config/package-info.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/web/config/package-info.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/config/package-info.java diff --git a/src/main/java/org/springframework/data/web/package-info.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/web/package-info.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/package-info.java diff --git a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java similarity index 100% rename from src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java diff --git a/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java similarity index 100% rename from src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java diff --git a/src/main/java/org/springframework/data/web/querydsl/package-info.java b/spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/web/querydsl/package-info.java rename to spring-data-commons-web/src/main/java/org/springframework/data/web/querydsl/package-info.java diff --git a/spring-data-commons-web/src/main/resources/META-INF/spring.factories b/spring-data-commons-web/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..1f39575620 --- /dev/null +++ b/spring-data-commons-web/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.data.web.config.SpringDataJacksonModules=org.springframework.data.web.config.SpringDataJacksonConfiguration +org.springframework.data.web.config.SpringDataJackson3Modules=org.springframework.data.web.config.SpringDataJackson3Configuration diff --git a/spring-data-commons-web/src/main/resources/META-INF/spring/aot.factories b/spring-data-commons-web/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 0000000000..46503ffcdd --- /dev/null +++ b/spring-data-commons-web/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=org.springframework.data.web.aot.WebRuntimeHints diff --git a/spring-data-commons-web/src/main/resources/license.txt b/spring-data-commons-web/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons-web/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons-web/src/main/resources/notice.txt b/spring-data-commons-web/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons-web/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/spring-data-commons-web/src/test/java/example/SampleInterface.java b/spring-data-commons-web/src/test/java/example/SampleInterface.java new file mode 100644 index 0000000000..d017bfdeb7 --- /dev/null +++ b/spring-data-commons-web/src/test/java/example/SampleInterface.java @@ -0,0 +1,23 @@ +/* + * Copyright 2017-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Oliver Gierke + * @see org.springframework.data.web.ProxyingHandlerMethodArgumentResolverUnitTests + */ +package example; + +public interface SampleInterface {} diff --git a/src/test/java/org/springframework/data/repository/aot/generate/RepositoryBuilderUnitTests.java b/spring-data-commons-web/src/test/java/example/UserRepository.java similarity index 56% rename from src/test/java/org/springframework/data/repository/aot/generate/RepositoryBuilderUnitTests.java rename to spring-data-commons-web/src/test/java/example/UserRepository.java index 5bf04cd6e7..d9b35863ef 100644 --- a/src/test/java/org/springframework/data/repository/aot/generate/RepositoryBuilderUnitTests.java +++ b/spring-data-commons-web/src/test/java/example/UserRepository.java @@ -13,25 +13,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.aot.generate; +package example; -import static org.assertj.core.api.Assertions.assertThat; +import example.UserRepository.User; -import example.UserRepository; +import java.util.List; -import org.junit.jupiter.api.Test; -import org.springframework.aot.test.generate.TestGenerationContext; -import org.springframework.core.test.tools.TestCompiler; +import org.springframework.data.repository.CrudRepository; /** * @author Christoph Strobl */ -// testclass needs to be public otherwise we cannot reference the repository within -class RepositoryBuilderUnitTests { +public interface UserRepository extends CrudRepository, UserRepositoryExtension { - @Test - void compileInstance() { + User findByFirstname(String firstname); - // moved to contributor + List findByFirstnameIn(List firstnames); + + Long countAllByLastname(String lastname); + + Long countAll(); + + void doSomething(); + + default Long theDefaultMethod() { + return countAll(); + } + + class User { + String firstname; } } diff --git a/src/test/java/QTypeInDefaultPackage.java b/spring-data-commons-web/src/test/java/example/UserRepositoryExtension.java similarity index 78% rename from src/test/java/QTypeInDefaultPackage.java rename to spring-data-commons-web/src/test/java/example/UserRepositoryExtension.java index a116b90414..c0b1c337a5 100644 --- a/src/test/java/QTypeInDefaultPackage.java +++ b/spring-data-commons-web/src/test/java/example/UserRepositoryExtension.java @@ -13,11 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package example; + +import example.UserRepository.User; /** - * Dummy type looking like a QueryDSL Generated one but its not - does not extend the - * {@link com.querydsl.core.types.dsl.EntityPathBase}) - * * @author Christoph Strobl */ -public class QTypeInDefaultPackage {} +public interface UserRepositoryExtension { + User findUserByExtensionMethod(); +} diff --git a/spring-data-commons-web/src/test/java/example/UserRepositoryExtensionImpl.java b/spring-data-commons-web/src/test/java/example/UserRepositoryExtensionImpl.java new file mode 100644 index 0000000000..8e6ccb2419 --- /dev/null +++ b/spring-data-commons-web/src/test/java/example/UserRepositoryExtensionImpl.java @@ -0,0 +1,29 @@ +/* + * Copyright 2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package example; + +import example.UserRepository.User; + +/** + * @author Christoph Strobl + */ +public class UserRepositoryExtensionImpl implements UserRepositoryExtension { + + @Override + public User findUserByExtensionMethod() { + return null; + } +} diff --git a/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java diff --git a/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java diff --git a/src/test/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/OffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PageImplJsonJackson2SerializationUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PageImplJsonJackson2SerializationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PageImplJsonJackson2SerializationUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PageImplJsonJackson2SerializationUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PageImplJsonSerializationUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PageImplJsonSerializationUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PageImplJsonSerializationUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PageImplJsonSerializationUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverterUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverterUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ProjectingJacksonHttpMessageConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ReactiveOffsetScrollPositionHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolverUnitTest.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolverUnitTest.java similarity index 100% rename from src/test/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolverUnitTest.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerArgumentResolverUnitTest.java diff --git a/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerUnitTest.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerUnitTest.java similarity index 100% rename from src/test/java/org/springframework/data/web/SlicedResourcesAssemblerUnitTest.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/SlicedResourcesAssemblerUnitTest.java diff --git a/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/SortDefaultUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java diff --git a/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java diff --git a/src/test/java/org/springframework/data/web/TestQualifier.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/TestQualifier.java similarity index 100% rename from src/test/java/org/springframework/data/web/TestQualifier.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/TestQualifier.java diff --git a/src/test/java/org/springframework/data/web/TestUtils.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/TestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/web/TestUtils.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/TestUtils.java diff --git a/src/test/java/org/springframework/data/web/WebTestUtils.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/WebTestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/web/WebTestUtils.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/WebTestUtils.java diff --git a/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/web/aot/WebRuntimeHintsUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/aot/WebRuntimeHintsUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/aot/WebRuntimeHintsUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/aot/WebRuntimeHintsUnitTests.java diff --git a/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java diff --git a/src/test/java/org/springframework/data/web/config/PageSampleController.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/PageSampleController.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/PageSampleController.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/PageSampleController.java index 54d8b835ea..7861c633bf 100755 --- a/src/test/java/org/springframework/data/web/config/PageSampleController.java +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/PageSampleController.java @@ -15,14 +15,14 @@ */ package org.springframework.data.web.config; +import java.util.List; + import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - /** * @author Yanming Zhou */ diff --git a/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java diff --git a/src/test/java/org/springframework/data/web/config/SampleController.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/SampleController.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/SampleController.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/SampleController.java diff --git a/src/test/java/org/springframework/data/web/config/SampleMixin.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/SampleMixin.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/SampleMixin.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/SampleMixin.java diff --git a/src/test/java/org/springframework/data/web/config/SliceableResourcesAssemblerIntegrationTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/SliceableResourcesAssemblerIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/web/config/SliceableResourcesAssemblerIntegrationTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/SliceableResourcesAssemblerIntegrationTests.java diff --git a/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java similarity index 98% rename from src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java index 65ac833a2c..ed46f319d7 100644 --- a/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java @@ -33,7 +33,7 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.classloadersupport.HidingClassLoader; +import org.springframework.data.test.classloadersupport.HidingClassLoader; import org.springframework.data.web.ProjectingJacksonHttpMessageConverter; import org.springframework.data.web.XmlBeamHttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter; diff --git a/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/Address.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/Address.java new file mode 100644 index 0000000000..61a460d734 --- /dev/null +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/Address.java @@ -0,0 +1,34 @@ +/* + * Copyright 2015-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.web.querydsl; + +import com.querydsl.core.annotations.QueryEntity; + +/** + * @author Christoph Strobl + */ +@QueryEntity +public class Address { + + public String street, city; + public Double[] lonLat; + public String description; + + public Address(String street, String city) { + this.street = street; + this.city = city; + } +} diff --git a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java index c2b4bdecce..ed2f48848e 100755 --- a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java @@ -33,9 +33,7 @@ import org.springframework.core.annotation.MergedAnnotation; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.data.querydsl.QUser; import org.springframework.data.querydsl.SimpleEntityPathResolver; -import org.springframework.data.querydsl.User; import org.springframework.data.querydsl.binding.QuerydslBinderCustomizer; import org.springframework.data.querydsl.binding.QuerydslBindings; import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; diff --git a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java rename to spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java index 5a6f600da8..100ef1eb10 100755 --- a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java @@ -25,9 +25,7 @@ import org.springframework.core.MethodParameter; import org.springframework.core.convert.support.DefaultConversionService; -import org.springframework.data.querydsl.QUser; import org.springframework.data.querydsl.SimpleEntityPathResolver; -import org.springframework.data.querydsl.User; import org.springframework.data.querydsl.binding.QuerydslBinderCustomizer; import org.springframework.data.querydsl.binding.QuerydslBindings; import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; diff --git a/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/User.java b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/User.java new file mode 100644 index 0000000000..f0f16e522a --- /dev/null +++ b/spring-data-commons-web/src/test/java/org/springframework/data/web/querydsl/User.java @@ -0,0 +1,58 @@ +/* + * Copyright 2011-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.web.querydsl; + +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.format.annotation.DateTimeFormat.ISO; + +import com.querydsl.core.annotations.QueryEntity; + +/** + * @author Oliver Gierke + * @author Thomas Darimont + * @author Christoph Strobl + */ +@QueryEntity +public class User { + + public String firstname, lastname; + public @DateTimeFormat(iso = ISO.DATE) Date dateOfBirth; + public Address address; + public List
addresses; + public List nickNames; + public Long inceptionYear; + public String description; + + public User(String firstname, String lastname, Address address) { + + this.firstname = firstname; + this.lastname = lastname; + this.address = address; + } +} + +@QueryEntity +class SpecialUser extends User { + + public String specialProperty; + + public SpecialUser(String firstname, String lastname, Address address) { + super(firstname, lastname, address); + } +} diff --git a/spring-data-commons-web/src/test/resources/META-INF/spring.factories b/spring-data-commons-web/src/test/resources/META-INF/spring.factories new file mode 100644 index 0000000000..81d1c0f829 --- /dev/null +++ b/spring-data-commons-web/src/test/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.data.web.config.SpringDataJacksonModules=org.springframework.data.web.config.SampleMixin diff --git a/spring-data-commons-web/src/test/resources/logback.xml b/spring-data-commons-web/src/test/resources/logback.xml new file mode 100644 index 0000000000..d076abde79 --- /dev/null +++ b/spring-data-commons-web/src/test/resources/logback.xml @@ -0,0 +1,14 @@ + + + + + + %d %5p %40.40c:%4L - %m%n + + + + + + + + diff --git a/src/test/resources/org/springframework/data/web/config/manual.xml b/spring-data-commons-web/src/test/resources/org/springframework/data/web/config/manual.xml similarity index 100% rename from src/test/resources/org/springframework/data/web/config/manual.xml rename to spring-data-commons-web/src/test/resources/org/springframework/data/web/config/manual.xml diff --git a/src/test/resources/org/springframework/data/web/config/via-config-class.xml b/spring-data-commons-web/src/test/resources/org/springframework/data/web/config/via-config-class.xml similarity index 100% rename from src/test/resources/org/springframework/data/web/config/via-config-class.xml rename to spring-data-commons-web/src/test/resources/org/springframework/data/web/config/via-config-class.xml diff --git a/spring-data-commons/pom.xml b/spring-data-commons/pom.xml new file mode 100644 index 0000000000..7237d898f0 --- /dev/null +++ b/spring-data-commons/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + spring-data-commons + 4.0.0-SNAPSHOT + + Spring Data Commons Aggregator + + + org.springframework.data + spring-data-commons-parent + 4.0.0-SNAPSHOT + ../pom.xml + + + + + org.springframework.data + spring-data-commons-core + ${project.version} + + + + org.springframework.data + spring-data-commons-domain + ${project.version} + + + + org.springframework.data + spring-data-commons-mapping + ${project.version} + + + + org.springframework.data + spring-data-commons-repository + ${project.version} + + + + org.springframework.data + spring-data-commons-support + ${project.version} + + + + org.springframework.data + spring-data-commons-web + ${project.version} + + + + diff --git a/spring-data-commons/src/main/resources/license.txt b/spring-data-commons/src/main/resources/license.txt new file mode 100644 index 0000000000..964a55d1c3 --- /dev/null +++ b/spring-data-commons/src/main/resources/license.txt @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================= + +To the extent any open source subcomponents are licensed under the EPL and/or other +similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://www.springsource.org/download, +or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview +Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All +such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General +Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent +physical medium. This offer to obtain a copy of the Source Files is valid for three +years from the date you acquired this Software product. \ No newline at end of file diff --git a/spring-data-commons/src/main/resources/notice.txt b/spring-data-commons/src/main/resources/notice.txt new file mode 100644 index 0000000000..329ce4284a --- /dev/null +++ b/spring-data-commons/src/main/resources/notice.txt @@ -0,0 +1,13 @@ +Spring Data Commons 4.0 M5 (2025.1.0) +Copyright (c) [2010-2021] Pivotal Software, Inc. + +This product is licensed to you under the Apache License, Version 2.0 (the "License"). +You may not use this product except in compliance with the License. + +This product may include a number of subcomponents with +separate copyright notices and license terms. Your use of the source +code for the these subcomponents is subject to the terms and +conditions of the subcomponent's license, as noted in the LICENSE file. + + + diff --git a/src/main/antora/antora.yml b/src/main/antora/antora.yml index 4ab2802b63..302e800cf3 100644 --- a/src/main/antora/antora.yml +++ b/src/main/antora/antora.yml @@ -6,10 +6,10 @@ nav: ext: collector: - run: - command: ./mvnw validate process-resources -am -Pantora-process-resources + command: ./mvnw validate process-resources -pl :spring-data-commons-distribution -am -Pantora-process-resources local: true scan: - dir: target/classes/antora-resources/ + dir: spring-data-commons-distribution/target/classes/ - run: command: ./mvnw package -Pdistribute local: true diff --git a/src/main/resources/META-INF/spring.handlers b/src/main/resources/META-INF/spring.handlers deleted file mode 100644 index acaf9d1282..0000000000 --- a/src/main/resources/META-INF/spring.handlers +++ /dev/null @@ -1,2 +0,0 @@ -http\://www.springframework.org/schema/data/repository=org.springframework.data.repository.config.RepositoryNameSpaceHandler -http\://www.springframework.org/schema/data/keyvalue=org.springframework.data.keyvalue.repository.config.KeyValueRepositoryNameSpaceHandler diff --git a/src/main/resources/META-INF/spring/aot.factories b/src/main/resources/META-INF/spring/aot.factories deleted file mode 100644 index 34bca58483..0000000000 --- a/src/main/resources/META-INF/spring/aot.factories +++ /dev/null @@ -1,10 +0,0 @@ -org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor=\ - org.springframework.data.aot.ManagedTypesBeanFactoryInitializationAotProcessor - -org.springframework.aot.hint.RuntimeHintsRegistrar=\ - org.springframework.data.repository.aot.hint.RepositoryRuntimeHints,\ - org.springframework.data.querydsl.aot.QuerydslHints,\ - org.springframework.data.web.aot.WebRuntimeHints - -org.springframework.beans.factory.aot.BeanRegistrationAotProcessor=\ - org.springframework.data.aot.AuditingBeanRegistrationAotProcessor diff --git a/src/test/benchmark/org/springframework/data/convert/PropertyValueConversionServiceUnitTests.java b/src/test/benchmark/org/springframework/data/convert/PropertyValueConversionServiceUnitTests.java deleted file mode 100644 index 737d458c96..0000000000 --- a/src/test/benchmark/org/springframework/data/convert/PropertyValueConversionServiceUnitTests.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 2022-2025 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.convert; - -import static org.assertj.core.api.Assertions.*; - -import java.util.Collections; - -import org.junit.jupiter.api.Test; - -import org.springframework.data.mapping.Person; -import org.springframework.data.mapping.context.SampleMappingContext; -import org.springframework.data.mapping.context.SamplePersistentProperty; -import org.springframework.data.mapping.model.BasicPersistentEntity; -import org.springframework.data.util.Predicates; - -/** - * Unit tests for {@link PropertyValueConversionService}. - * - * @author Mark Paluch - */ -class PropertyValueConversionServiceUnitTests { - - SampleMappingContext mappingContext = new SampleMappingContext(); - - PropertyValueConversions conversions = PropertyValueConversions.simple(it -> { - it.registerConverter(Person.class, "firstName", String.class).writing(w -> "Writing " + w) - .reading(r -> "Reading " + r); - }); - PropertyValueConversionService service = createConversionService(conversions); - - @Test // GH-2557 - void shouldReportConverter() { - - BasicPersistentEntity entity = mappingContext - .getRequiredPersistentEntity(Person.class); - - assertThat(service.hasConverter(entity.getRequiredPersistentProperty("firstName"))).isTrue(); - assertThat(service.hasConverter(entity.getRequiredPersistentProperty("lastName"))).isFalse(); - } - - @Test // GH-2557 - void conversionWithoutConverterShouldFail() { - - BasicPersistentEntity entity = mappingContext - .getRequiredPersistentEntity(Person.class); - - SamplePersistentProperty property = entity.getRequiredPersistentProperty("lastName"); - assertThatIllegalArgumentException().isThrownBy(() -> service.read("foo", property, () -> property)); - assertThatIllegalArgumentException().isThrownBy(() -> service.write("foo", property, () -> property)); - } - - @Test // GH-2557 - void readShouldUseReadConverter() { - - BasicPersistentEntity entity = mappingContext - .getRequiredPersistentEntity(Person.class); - - SamplePersistentProperty property = entity.getRequiredPersistentProperty("firstName"); - assertThat(service.read("Walter", property, () -> property)).isEqualTo("Reading Walter"); - assertThat(service.read(null, property, () -> property)).isEqualTo("Reading null"); - } - - @Test // GH-2557 - void readShouldUseWriteConverter() { - - BasicPersistentEntity entity = mappingContext - .getRequiredPersistentEntity(Person.class); - - SamplePersistentProperty property = entity.getRequiredPersistentProperty("firstName"); - assertThat(service.write("Walter", property, () -> property)).isEqualTo("Writing Walter"); - assertThat(service.write(null, property, () -> property)).isEqualTo("Writing null"); - } - - @Test // GH-2557 - void readShouldUseNullConvertersConverter() { - - PropertyValueConversions conversions = PropertyValueConversions.simple(it -> { - it.registerConverter(Person.class, "firstName", WithNullConverters.INSTANCE); - }); - - PropertyValueConversionService service = createConversionService(conversions); - - BasicPersistentEntity entity = mappingContext - .getRequiredPersistentEntity(Person.class); - - SamplePersistentProperty property = entity.getRequiredPersistentProperty("firstName"); - - assertThat(service.read(null, property, () -> property)).isEqualTo("readNull"); - assertThat(service.write(null, property, () -> property)).isEqualTo("writeNull"); - } - - private static PropertyValueConversionService createConversionService(PropertyValueConversions conversions) { - - CustomConversions.ConverterConfiguration configuration = new CustomConversions.ConverterConfiguration( - CustomConversions.StoreConversions.NONE, Collections.emptyList(), Predicates.isTrue(), conversions); - - return new PropertyValueConversionService(new CustomConversions(configuration)); - } - - enum WithNullConverters implements PropertyValueConverter> { - INSTANCE; - - @Override - public String read(String value, ValueConversionContext context) { - return value; - } - - @Override - public String readNull(ValueConversionContext context) { - return "readNull"; - } - - @Override - public String write(String value, ValueConversionContext context) { - return value; - } - - @Override - public String writeNull(ValueConversionContext context) { - return "writeNull"; - } - } - -} diff --git a/src/test/java/org/springframework/data/DependencyTests.java b/src/test/java/org/springframework/data/DependencyTests.java deleted file mode 100644 index 71a1a0af13..0000000000 --- a/src/test/java/org/springframework/data/DependencyTests.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 2017-2025 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data; - -import static org.assertj.core.api.Assertions.*; - -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.springframework.data.repository.core.RepositoryMetadata; - -import com.tngtech.archunit.base.DescribedPredicate; -import com.tngtech.archunit.core.domain.JavaClass; -import com.tngtech.archunit.core.domain.JavaClasses; -import com.tngtech.archunit.core.importer.ClassFileImporter; -import com.tngtech.archunit.core.importer.ImportOption; -import com.tngtech.archunit.lang.ArchRule; -import com.tngtech.archunit.library.dependencies.SlicesRuleDefinition; - -/** - * Tests for package and slice cycles. All packages that have the same start including the part after {@literal data} - * are considered one slice. For example {@literal org.springframework.data.repository} and - * {@literal org.springframework.data.repository.support} are part of the same slice {@literal repository}. - * - * @author Jens Schauder - */ -@Disabled -public class DependencyTests { - - JavaClasses importedClasses = new ClassFileImporter() // - .withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_TESTS) // - .withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_JARS) // we just analyze the code of this module. - .importPackages("org.springframework.data") // - .that(onlySpringData()) // - - // new cycle - .that(ignore(RepositoryMetadata.class)); - - @Test - void cycleFreeSlices() { - - ArchRule rule = SlicesRuleDefinition.slices() // - .matching("org.springframework.data.(*)..") // - .should() // - .beFreeOfCycles(); - - rule.check(importedClasses); - } - - @Test - void cycleFreePackages() { - - ArchRule rule = SlicesRuleDefinition.slices() // - .matching("org.springframework.data.(**)") // - .should() // - .beFreeOfCycles(); - - rule.check(importedClasses); - } - - @Test - void testGetFirstPackagePart() { - - assertThat(getFirstPackagePart("a.b.c")).isEqualTo("a"); - assertThat(getFirstPackagePart("a")).isEqualTo("a"); - } - - @Test - void testSubModule() { - - assertThat(subModule("a.b", "a.b.c.d")).isEqualTo("c"); - assertThat(subModule("a.b", "a.b.c")).isEqualTo("c"); - assertThat(subModule("a.b", "a.b")).isEqualTo(""); - } - - private DescribedPredicate onlySpringData() { - - return new DescribedPredicate<>("Spring Data Classes") { - @Override - public boolean test(JavaClass input) { - return input.getPackageName().startsWith("org.springframework.data"); - } - }; - } - - private DescribedPredicate ignore(Class type) { - - return new DescribedPredicate<>("ignored class " + type.getName()) { - @Override - public boolean test(JavaClass input) { - return !input.getFullName().startsWith(type.getName()); - } - }; - } - - private DescribedPredicate ignorePackage(String type) { - - return new DescribedPredicate<>("ignored class " + type) { - @Override - public boolean test(JavaClass input) { - return !input.getPackageName().equals(type); - } - }; - } - - private String getFirstPackagePart(String subpackage) { - - int index = subpackage.indexOf("."); - if (index < 0) { - return subpackage; - } - return subpackage.substring(0, index); - } - - private String subModule(String basePackage, String packageName) { - - if (packageName.startsWith(basePackage) && packageName.length() > basePackage.length()) { - - final int index = basePackage.length() + 1; - String subpackage = packageName.substring(index); - return getFirstPackagePart(subpackage); - } - return ""; - } - -} diff --git a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java deleted file mode 100755 index 9fc9384f0d..0000000000 --- a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright 2011-2025 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.transaction; - -import static org.assertj.core.api.Assertions.*; -import static org.springframework.data.transaction.ChainedTransactionManagerTests.TestPlatformTransactionManager.*; - -import org.junit.jupiter.api.Test; -import org.springframework.transaction.HeuristicCompletionException; -import org.springframework.transaction.PlatformTransactionManager; -import org.springframework.transaction.TransactionDefinition; -import org.springframework.transaction.TransactionException; -import org.springframework.transaction.TransactionStatus; -import org.springframework.transaction.UnexpectedRollbackException; -import org.springframework.transaction.support.AbstractTransactionStatus; -import org.springframework.transaction.support.DefaultTransactionDefinition; - -/** - * Integration tests for {@link ChainedTransactionManager}. - * - * @author Michael Hunger - * @author Oliver Gierke - * @since 1.6 - */ -class ChainedTransactionManagerTests { - - ChainedTransactionManager tm; - - @Test - void shouldCompleteSuccessfully() { - - var transactionManager = createNonFailingTransactionManager("single"); - setupTransactionManagers(transactionManager); - - createAndCommitTransaction(); - - assertThat(transactionManager).matches(TestPlatformTransactionManager::isCommitted); - } - - @Test - void shouldThrowRolledBackExceptionForSingleTMFailure() { - - setupTransactionManagers(createFailingTransactionManager("single")); - - assertThatExceptionOfType(HeuristicCompletionException.class)// - .isThrownBy(this::createAndCommitTransaction)// - .matches(e -> e.getOutcomeState() == HeuristicCompletionException.STATE_ROLLED_BACK); - } - - @Test - void shouldCommitAllRegisteredTransactionManagers() { - - var first = createNonFailingTransactionManager("first"); - var second = createNonFailingTransactionManager("second"); - - setupTransactionManagers(first, second); - createAndCommitTransaction(); - - assertThat(first).matches(TestPlatformTransactionManager::isCommitted); - assertThat(second).matches(TestPlatformTransactionManager::isCommitted); - } - - @Test - void shouldCommitInReverseOrder() { - - var first = createNonFailingTransactionManager("first"); - var second = createNonFailingTransactionManager("second"); - - setupTransactionManagers(first, second); - createAndCommitTransaction(); - - assertThat(second.getCommitTime()).isLessThanOrEqualTo(first.getCommitTime()); - } - - @Test - void shouldThrowMixedRolledBackExceptionForNonFirstTMFailure() { - - setupTransactionManagers(TestPlatformTransactionManager.createFailingTransactionManager("first"), - createNonFailingTransactionManager("second")); - - assertThatExceptionOfType(HeuristicCompletionException.class)// - .isThrownBy(this::createAndCommitTransaction)// - .matches(e -> e.getOutcomeState() == HeuristicCompletionException.STATE_MIXED); - } - - @Test - void shouldRollbackAllTransactionManagers() { - - var first = createNonFailingTransactionManager("first"); - var second = createNonFailingTransactionManager("second"); - - setupTransactionManagers(first, second); - createAndRollbackTransaction(); - - assertThat(first).matches(TestPlatformTransactionManager::wasRolledBack); - assertThat(second).matches(TestPlatformTransactionManager::wasRolledBack); - - } - - @Test - void shouldThrowExceptionOnFailingRollback() { - - PlatformTransactionManager first = createFailingTransactionManager("first"); - setupTransactionManagers(first); - - assertThatExceptionOfType(UnexpectedRollbackException.class).isThrownBy(this::createAndRollbackTransaction); - } - - private void setupTransactionManagers(PlatformTransactionManager... transactionManagers) { - tm = new ChainedTransactionManager(new TestSynchronizationManager(), transactionManagers); - } - - private void createAndRollbackTransaction() { - var transaction = tm.getTransaction(new DefaultTransactionDefinition()); - tm.rollback(transaction); - } - - private void createAndCommitTransaction() { - var transaction = tm.getTransaction(new DefaultTransactionDefinition()); - tm.commit(transaction); - } - - static class TestSynchronizationManager implements SynchronizationManager { - - private boolean synchronizationActive; - - @Override - public void initSynchronization() { - synchronizationActive = true; - } - - @Override - public boolean isSynchronizationActive() { - return synchronizationActive; - } - - @Override - public void clearSynchronization() { - synchronizationActive = false; - } - } - - static class TestPlatformTransactionManager implements org.springframework.transaction.PlatformTransactionManager { - - private final String name; - private Long commitTime; - private Long rollbackTime; - - TestPlatformTransactionManager(String name) { - this.name = name; - } - - static TestPlatformTransactionManager createFailingTransactionManager(String name) { - return new TestPlatformTransactionManager(name + "-failing") { - @Override - public void commit(TransactionStatus status) throws TransactionException { - throw new RuntimeException(); - } - - @Override - public void rollback(TransactionStatus status) throws TransactionException { - throw new RuntimeException(); - } - }; - } - - static TestPlatformTransactionManager createNonFailingTransactionManager(String name) { - return new TestPlatformTransactionManager(name + "-non-failing"); - } - - @Override - public String toString() { - return name + (isCommitted() ? " (committed) " : " (not committed)"); - } - - public TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException { - return new TestTransactionStatus(definition); - } - - public void commit(TransactionStatus status) throws TransactionException { - commitTime = System.currentTimeMillis(); - } - - public void rollback(TransactionStatus status) throws TransactionException { - rollbackTime = System.currentTimeMillis(); - } - - boolean isCommitted() { - return commitTime != null; - } - - boolean wasRolledBack() { - return rollbackTime != null; - } - - Long getCommitTime() { - return commitTime; - } - - } - - static class TestTransactionStatus extends AbstractTransactionStatus { - - TestTransactionStatus(TransactionDefinition definition) {} - - public boolean isNewTransaction() { - return false; - } - } -} From 5e68c286610a41a386681a186a01a8a7d0db4825 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 5 Sep 2025 11:47:54 +0200 Subject: [PATCH 2/3] Prepare issue branch. --- pom.xml | 2 +- spring-data-commons-core/pom.xml | 4 ++-- spring-data-commons-domain/pom.xml | 4 ++-- spring-data-commons-mapping/pom.xml | 4 ++-- spring-data-commons-repository/pom.xml | 4 ++-- spring-data-commons-support/pom.xml | 4 ++-- spring-data-commons-test/pom.xml | 4 ++-- spring-data-commons-web/pom.xml | 4 ++-- spring-data-commons/pom.xml | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index 24b193ec01..ee7546ae92 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT pom Spring Data Commons Parent diff --git a/spring-data-commons-core/pom.xml b/spring-data-commons-core/pom.xml index 9c0c501573..46118ea898 100644 --- a/spring-data-commons-core/pom.xml +++ b/spring-data-commons-core/pom.xml @@ -6,14 +6,14 @@ 4.0.0 spring-data-commons-core - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Core org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-domain/pom.xml b/spring-data-commons-domain/pom.xml index 40a848535f..1eec2c889b 100644 --- a/spring-data-commons-domain/pom.xml +++ b/spring-data-commons-domain/pom.xml @@ -7,14 +7,14 @@ org.springframework.data spring-data-commons-domain - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Domain org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-mapping/pom.xml b/spring-data-commons-mapping/pom.xml index a14cb57c05..3fce197c8a 100644 --- a/spring-data-commons-mapping/pom.xml +++ b/spring-data-commons-mapping/pom.xml @@ -7,14 +7,14 @@ org.springframework.data spring-data-commons-mapping - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Mapping and Conversion org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-repository/pom.xml b/spring-data-commons-repository/pom.xml index bd3ea422a0..d8aec19a98 100644 --- a/spring-data-commons-repository/pom.xml +++ b/spring-data-commons-repository/pom.xml @@ -7,14 +7,14 @@ org.springframework.data spring-data-commons-repository - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Repository org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-support/pom.xml b/spring-data-commons-support/pom.xml index 03e1495ebf..8ab6e20f2f 100644 --- a/spring-data-commons-support/pom.xml +++ b/spring-data-commons-support/pom.xml @@ -7,14 +7,14 @@ org.springframework.data spring-data-commons-support - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Support org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-test/pom.xml b/spring-data-commons-test/pom.xml index e7d0c72aa3..22f91a258a 100644 --- a/spring-data-commons-test/pom.xml +++ b/spring-data-commons-test/pom.xml @@ -6,14 +6,14 @@ 4.0.0 spring-data-commons-test - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Test Support org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons-web/pom.xml b/spring-data-commons-web/pom.xml index fe0ca07159..9e925cb063 100644 --- a/spring-data-commons-web/pom.xml +++ b/spring-data-commons-web/pom.xml @@ -7,14 +7,14 @@ org.springframework.data spring-data-commons-web - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Web org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml diff --git a/spring-data-commons/pom.xml b/spring-data-commons/pom.xml index 7237d898f0..c1a5cb46ba 100644 --- a/spring-data-commons/pom.xml +++ b/spring-data-commons/pom.xml @@ -6,14 +6,14 @@ 4.0.0 spring-data-commons - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT Spring Data Commons Aggregator org.springframework.data spring-data-commons-parent - 4.0.0-SNAPSHOT + 4.0.0-SPLIT-SNAPSHOT ../pom.xml From 3354ba062cc8793d045fdc27c535dfe43a890670 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 5 Sep 2025 14:30:01 +0200 Subject: [PATCH 3/3] Refine dependencies, fix broken imports. --- pom.xml | 1 + spring-data-commons-core/pom.xml | 11 +- .../data/util/DataCmns511Tests.java | 4 +- spring-data-commons-distribution/pom.xml | 16 -- spring-data-commons-domain/pom.xml | 16 +- spring-data-commons-mapping/pom.xml | 41 +--- .../ProjectionIntegrationTests.java | 3 +- spring-data-commons-repository/pom.xml | 1 + .../DomainClassConverterIntegrationTests.java | 1 + spring-data-commons-support/pom.xml | 1 + spring-data-commons-test/pom.xml | 2 + spring-data-commons-web/pom.xml | 196 +----------------- spring-data-commons/pom.xml | 2 + 13 files changed, 38 insertions(+), 257 deletions(-) diff --git a/pom.xml b/pom.xml index ee7546ae92..6677373d3d 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ + diff --git a/spring-data-commons-core/pom.xml b/spring-data-commons-core/pom.xml index 46118ea898..3f59a107c9 100644 --- a/spring-data-commons-core/pom.xml +++ b/spring-data-commons-core/pom.xml @@ -18,19 +18,12 @@ + org.springframework spring-core - - org.springframework - spring-beans - - - org.springframework - spring-context - true - + org.springframework spring-expression diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java b/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java index 85f58f0954..2f220a6b89 100755 --- a/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/util/DataCmns511Tests.java @@ -15,6 +15,8 @@ */ package org.springframework.data.util; +import static org.assertj.core.api.Assertions.*; + import java.util.HashSet; import java.util.Set; @@ -31,7 +33,7 @@ public class DataCmns511Tests { @Test // DATACMNS-511 public void detectsEqualTypeVariableTypeInformationInstances() { - var createdBy = TypeInformation.of(AbstractRole.class).getProperty("createdBy"); + TypeInformation createdBy = TypeInformation.of(AbstractRole.class).getProperty("createdBy"); assertThat(createdBy.getProperty("roles").getActualType().getProperty("createdBy"))// .satisfies(second -> { diff --git a/spring-data-commons-distribution/pom.xml b/spring-data-commons-distribution/pom.xml index 90849d01b9..04de54a069 100644 --- a/spring-data-commons-distribution/pom.xml +++ b/spring-data-commons-distribution/pom.xml @@ -1,19 +1,4 @@ - @@ -87,7 +72,6 @@ antora-maven-plugin - diff --git a/spring-data-commons-domain/pom.xml b/spring-data-commons-domain/pom.xml index 1eec2c889b..b61589d7f4 100644 --- a/spring-data-commons-domain/pom.xml +++ b/spring-data-commons-domain/pom.xml @@ -19,6 +19,7 @@ + org.springframework.data spring-data-commons-core @@ -27,13 +28,20 @@ org.springframework - spring-core-test - test + spring-beans + true org.springframework - spring-beans + spring-context + true + + + + org.springframework + spring-core-test + test @@ -49,7 +57,6 @@ test - org.springframework.hateoas spring-hateoas @@ -87,6 +94,7 @@ xmlunit test + diff --git a/spring-data-commons-mapping/pom.xml b/spring-data-commons-mapping/pom.xml index 3fce197c8a..926cc20121 100644 --- a/spring-data-commons-mapping/pom.xml +++ b/spring-data-commons-mapping/pom.xml @@ -19,11 +19,6 @@ - - org.springframework.data - spring-data-commons-core - ${project.version} - org.springframework.data @@ -32,25 +27,10 @@ - org.springframework - spring-core - - - - org.springframework - spring-beans - - - - org.springframework - spring-context - true - - - - org.springframework - spring-expression - true + org.springframework.data + spring-data-commons-test + ${project.version} + test @@ -93,12 +73,6 @@ test - - com.fasterxml.jackson.core - jackson-databind - true - - tools.jackson.core jackson-databind @@ -115,13 +89,6 @@ com.jayway.jsonpath json-path ${jsonpath} - true - - - - org.springframework.data - spring-data-commons-test - ${project.version} test diff --git a/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java index 3d8b9e5168..c5a684676a 100755 --- a/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java +++ b/spring-data-commons-mapping/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java @@ -17,11 +17,12 @@ import static org.assertj.core.api.Assertions.*; +import tools.jackson.databind.ObjectMapper; + import org.junit.jupiter.api.Test; import org.springframework.lang.Nullable; -import com.fasterxml.jackson.databind.ObjectMapper; import com.jayway.jsonpath.Configuration.ConfigurationBuilder; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; diff --git a/spring-data-commons-repository/pom.xml b/spring-data-commons-repository/pom.xml index d8aec19a98..bd7491dfcb 100644 --- a/spring-data-commons-repository/pom.xml +++ b/spring-data-commons-repository/pom.xml @@ -19,6 +19,7 @@ + org.springframework.data spring-data-commons-mapping diff --git a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java index 713278298a..65f45893f2 100755 --- a/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java +++ b/spring-data-commons-repository/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java @@ -15,6 +15,7 @@ */ package org.springframework.data.repository.support; +import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import java.io.Serializable; diff --git a/spring-data-commons-support/pom.xml b/spring-data-commons-support/pom.xml index 8ab6e20f2f..0173beee31 100644 --- a/spring-data-commons-support/pom.xml +++ b/spring-data-commons-support/pom.xml @@ -19,6 +19,7 @@ + org.springframework.data spring-data-commons-repository diff --git a/spring-data-commons-test/pom.xml b/spring-data-commons-test/pom.xml index 22f91a258a..1dec1f7ee4 100644 --- a/spring-data-commons-test/pom.xml +++ b/spring-data-commons-test/pom.xml @@ -18,6 +18,7 @@ + org.springframework spring-core @@ -63,6 +64,7 @@ ${mockito} compile + diff --git a/spring-data-commons-web/pom.xml b/spring-data-commons-web/pom.xml index 9e925cb063..6d889f7ba7 100644 --- a/spring-data-commons-web/pom.xml +++ b/spring-data-commons-web/pom.xml @@ -19,11 +19,6 @@ - - org.springframework.data - spring-data-commons-mapping - ${project.version} - org.springframework.data @@ -41,14 +36,6 @@ org.springframework spring-context - true - - - - org.springframework.hateoas - spring-hateoas - ${spring-hateoas} - true @@ -69,6 +56,13 @@ true + + org.springframework.hateoas + spring-hateoas + ${spring-hateoas} + true + + com.fasterxml.jackson.core jackson-databind @@ -100,56 +94,6 @@ provided - - jakarta.xml.bind - jakarta.xml.bind-api - ${jaxb} - provided - - - - jakarta.annotation - jakarta.annotation-api - ${jakarta-annotation-api} - true - - - - com.google.code.findbugs - jsr305 - 3.0.2 - true - - - - - - io.projectreactor - reactor-core - true - - - - io.projectreactor - reactor-test - test - - - - - io.reactivex.rxjava3 - rxjava - ${rxjava3} - true - - - - io.smallrye.reactive - mutiny - ${smallrye-mutiny} - true - - com.querydsl @@ -158,125 +102,6 @@ true - - com.querydsl - querydsl-collections - ${querydsl} - true - - - - com.google.guava - guava - ${guava} - true - - - - io.vavr - vavr - ${vavr} - true - - - - - org.eclipse.collections - eclipse-collections-api - ${eclipse-collections} - true - - - - org.eclipse.collections - eclipse-collections - ${eclipse-collections} - test - - - - - com.sun.xml.bind - jaxb-impl - 3.0.2 - test - - - - xmlunit - xmlunit - 1.6 - test - - - - - org.codehaus.groovy - groovy-all - 2.4.21 - test - - - - - org.jetbrains.kotlin - kotlin-stdlib - true - - - - org.jetbrains.kotlin - kotlin-reflect - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-core - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-reactive - true - - - - org.jetbrains.kotlinx - kotlinx-coroutines-reactor - true - - - - org.jetbrains.kotlin - kotlin-test-junit5 - ${kotlin} - test - - - - io.mockk - mockk-jvm - ${mockk} - test - - - - - org.scala-lang - scala-library - ${scala} - true - - - - jakarta.transaction - jakarta.transaction-api - 2.0.0 - test - - com.jayway.jsonpath json-path @@ -298,13 +123,6 @@ test - - org.jmolecules.integrations - jmolecules-spring - ${jmolecules-integration} - true - - diff --git a/spring-data-commons/pom.xml b/spring-data-commons/pom.xml index c1a5cb46ba..8cb67924f7 100644 --- a/spring-data-commons/pom.xml +++ b/spring-data-commons/pom.xml @@ -18,6 +18,7 @@ + org.springframework.data spring-data-commons-core @@ -53,6 +54,7 @@ spring-data-commons-web ${project.version} +