From be347eaaabd240da1b4223ac997889eb22b6f98f Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 15 Feb 2017 12:06:09 +0100 Subject: [PATCH] DATACMNS-867 - Additional Java 8 language feature cleanup. Make use of lambdas and method references though out the codebase. Remove no longer required generic type parameters. Additionally remove unused imports and replace single element list initialization with dedicated singletonList. Use Assertion overloads taking Supplier for dynamic assertion error messages. --- .../auditing/AnnotationAuditingMetadata.java | 7 +- .../data/auditing/AuditingHandler.java | 6 +- .../DefaultAuditableBeanWrapperFactory.java | 16 +-- .../auditing/IsNewAwareAuditingHandler.java | 6 +- .../MappingAuditableBeanWrapperFactory.java | 23 ++-- .../ClassGeneratingEntityInstantiator.java | 9 +- .../data/convert/DefaultTypeMapper.java | 12 +- .../data/convert/EntityInstantiators.java | 7 +- .../data/convert/JodaTimeConverters.java | 5 +- .../data/convert/Jsr310Converters.java | 5 +- .../MappingContextTypeInformationMapper.java | 7 +- .../convert/ReflectionEntityInstantiator.java | 5 +- .../convert/ThreeTenBackPortConverters.java | 3 +- .../data/crossstore/HashMapChangeSet.java | 5 +- .../data/domain/AbstractAggregateRoot.java | 5 +- .../springframework/data/domain/Chunk.java | 5 +- .../data/domain/ExampleMatcher.java | 6 +- .../data/domain/jaxb/PageableAdapter.java | 5 +- .../data/geo/format/DistanceFormatter.java | 5 +- .../data/history/Revision.java | 9 +- .../data/history/Revisions.java | 7 +- .../springframework/data/mapping/Alias.java | 5 +- .../data/mapping/PreferredConstructor.java | 21 ++-- .../data/mapping/PropertyPath.java | 2 +- .../context/AbstractMappingContext.java | 19 ++-- .../DefaultPersistentPropertyPath.java | 9 +- .../MappingContextIsNewStrategyFactory.java | 8 +- .../model/AbstractPersistentProperty.java | 6 +- .../AnnotationBasedPersistentProperty.java | 15 ++- .../mapping/model/BasicPersistentEntity.java | 10 +- ...lassGeneratingPropertyAccessorFactory.java | 50 +++------ .../model/IdPropertyIdentifierAccessor.java | 4 +- .../model/MappingInstantiationException.java | 11 +- ...ersistentEntityParameterValueProvider.java | 5 +- .../model/PreferredConstructorDiscoverer.java | 7 +- .../data/mapping/model/Property.java | 24 ++-- .../data/mapping/model/SimpleTypeHolder.java | 11 +- .../data/projection/Accessor.java | 5 +- .../DefaultProjectionInformation.java | 7 +- .../projection/ProxyProjectionFactory.java | 5 +- .../SpelAwareProxyProjectionFactory.java | 2 +- .../SpelEvaluatingMethodInterceptor.java | 5 +- .../springframework/data/querydsl/QSort.java | 4 +- .../binding/PropertyPathInformation.java | 7 +- .../querydsl/binding/QuerydslBindings.java | 38 +++---- .../binding/QuerydslBindingsFactory.java | 14 +-- .../binding/QuerydslPredicateBuilder.java | 4 +- .../repository/cdi/CdiRepositoryBean.java | 12 +- .../cdi/CdiRepositoryExtensionSupport.java | 7 +- ...ustomRepositoryImplementationDetector.java | 3 +- .../RepositoryBeanDefinitionBuilder.java | 3 +- ...positoryConfigurationExtensionSupport.java | 5 +- .../XmlRepositoryConfigurationSource.java | 8 +- .../support/DefaultRepositoryInformation.java | 3 +- ...ublishingRepositoryProxyPostProcessor.java | 11 +- .../core/support/ExampleMatcherAccessor.java | 5 +- .../support/PersistentEntityInformation.java | 6 +- .../support/ReflectionEntityInformation.java | 5 +- .../support/RepositoryFactorySupport.java | 12 +- ...gTransactionDetectorMethodInterceptor.java | 5 +- ...sactionalRepositoryProxyPostProcessor.java | 5 +- ...EvaluationContextExtensionInformation.java | 17 +-- ...tensionAwareEvaluationContextProvider.java | 18 ++- .../data/repository/query/Parameters.java | 5 +- .../data/repository/query/QueryMethod.java | 5 +- .../repository/query/ResultProcessor.java | 7 +- .../data/repository/query/ReturnedType.java | 19 ++-- .../query/parser/OrderBySource.java | 5 +- .../repository/query/parser/PartTree.java | 4 +- .../support/AnnotationAttribute.java | 7 +- .../support/CrudRepositoryInvoker.java | 5 +- .../DefaultRepositoryInvokerFactory.java | 9 +- .../repository/support/MethodParameters.java | 12 +- .../support/PageableExecutionUtils.java | 11 +- .../data/repository/support/Repositories.java | 13 ++- .../repository/util/JavaslangCollections.java | 3 +- .../util/QueryExecutionConverters.java | 1 + .../support/CachingIsNewStrategyFactory.java | 7 +- .../transaction/MultiTransactionStatus.java | 5 +- .../data/util/AnnotatedTypeScanner.java | 5 +- .../data/util/ClassTypeInformation.java | 9 +- .../springframework/data/util/Optionals.java | 15 +-- .../org/springframework/data/util/Pair.java | 5 +- .../util/ParameterizedTypeInformation.java | 7 +- .../util/ParentTypeAwareTypeInformation.java | 2 +- .../data/util/ReflectionUtils.java | 7 +- .../springframework/data/util/Streamable.java | 13 ++- .../data/util/TypeDiscoverer.java | 25 +++-- ...PageableHandlerMethodArgumentResolver.java | 11 +- ...gedResourcesAssemblerArgumentResolver.java | 5 +- ...rojectingJackson2HttpMessageConverter.java | 3 +- .../SortHandlerMethodArgumentResolver.java | 11 +- .../data/web/XmlBeamHttpMessageConverter.java | 3 +- .../QuerydslPredicateArgumentResolver.java | 6 +- ...tAuditableBeanWrapperFactoryUnitTests.java | 12 +- .../IsNewAwareAuditingHandlerUnitTests.java | 2 +- ...gAuditableBeanWrapperFactoryUnitTests.java | 12 +- ...anDefinitionRegistrarSupportUnitTests.java | 1 - ...GeneratingEntityInstantiatorUnitTests.java | 11 +- ...gurableTypeInformationMapperUnitTests.java | 2 +- .../convert/DefaultTypeMapperUnitTests.java | 4 +- .../convert/EntityInstantiatorsUnitTests.java | 4 +- .../convert/Jsr310ConvertersUnitTests.java | 2 +- ...ReflectionEntityInstantiatorUnitTests.java | 9 +- .../ThreeTenBackPortConvertersUnitTests.java | 2 +- .../data/domain/ExampleMatcherUnitTests.java | 19 +--- .../data/domain/ExampleUnitTests.java | 1 - .../data/domain/PageImplUnitTests.java | 14 +-- .../domain/jaxb/SpringDataJaxbUnitTests.java | 5 +- .../data/geo/GeoResultsUnitTests.java | 3 +- .../data/mapping/ParameterUnitTests.java | 20 ++-- ...eferredConstructorDiscovererUnitTests.java | 4 +- .../mapping/SimpleTypeHolderUnitTests.java | 4 +- ...bstractMappingContextIntegrationTests.java | 21 ++-- .../AbstractMappingContextUnitTests.java | 10 +- ...DefaultPersistenPropertyPathUnitTests.java | 6 +- .../context/MappingContextEventUnitTests.java | 6 +- .../context/PersistentEntitiesUnitTests.java | 6 +- .../mapping/context/SampleMappingContext.java | 2 +- ...ationBasedPersistentPropertyUnitTests.java | 52 +++------ .../model/BasicPersistentEntityUnitTests.java | 18 +-- ...gPropertyAccessorFactoryDatatypeTests.java | 2 +- ...ropertyAccessorFactoryEntityTypeTests.java | 2 +- ...eneratingPropertyAccessorFactoryTests.java | 18 +-- .../ConvertingPropertyAccessorUnitTests.java | 4 +- ...EntityParameterValueProviderUnitTests.java | 12 +- ...lExpressionParameterProviderUnitTests.java | 1 - ...apAccessingMethodInterceptorUnitTests.java | 8 +- .../ProjectingMethodInterceptorUnitTests.java | 1 - .../ProxyProjectionFactoryUnitTests.java | 4 +- ...lEvaluatingMethodInterceptorUnitTests.java | 2 +- ...ydslRepositoryInvokerAdapterUnitTests.java | 1 - .../QuerydslBindingsFactoryUnitTests.java | 2 +- .../QuerydslDefaultBindingUnitTests.java | 4 +- .../QuerydslPredicateBuilderUnitTests.java | 4 +- .../repository/cdi/DummyCdiExtension.java | 2 +- ...anDefinitionRegistrarSupportUnitTests.java | 1 - .../RepositoryComponentProviderUnitTests.java | 6 +- ...onfigurationExtensionSupportUnitTests.java | 4 +- ...epositoryConfigurationSourceUnitTests.java | 1 - .../AbstractEntityInformationUnitTests.java | 4 +- .../support/DefaultCrudMethodsUnitTests.java | 6 +- ...RepositoryProxyPostProcessorUnitTests.java | 8 +- ...ExampleSpecificationAccessorUnitTests.java | 13 +-- ...PersistableEntityInformationUnitTests.java | 2 +- ...RepositoryProxyPostProcessorUnitTests.java | 1 - .../PersistentEntityInformationUnitTests.java | 4 +- ...eryExecutorMethodInterceptorUnitTests.java | 1 - ...pperRepositoryFactorySupportUnitTests.java | 1 - .../ReflectionEntityInformationUnitTests.java | 4 +- .../RepositoryFactorySupportUnitTests.java | 4 +- ...eReaderRepositoryInitializerUnitTests.java | 1 - ...areEvaluationContextProviderUnitTests.java | 4 +- .../query/ResultProcessorUnitTests.java | 20 ++-- .../query/parser/PartTreeUnitTests.java | 7 +- .../sample/SampleConfiguration.java | 4 +- .../CrudRepositoryInvokerUnitTests.java | 1 - .../DomainClassConverterUnitTests.java | 1 - ...nAndSortingRepositoryInvokerUnitTests.java | 1 - .../ReflectionRepositoryInvokerUnitTests.java | 9 +- .../support/RepositoriesUnitTests.java | 4 +- .../QueryExecutionConvertersUnitTests.java | 2 +- .../ChainedTransactionManagerTests.java | 14 +-- .../util/ClassTypeInformationUnitTests.java | 104 +++++++++--------- .../data/util/DataCmns511Tests.java | 6 +- .../data/util/OptionalAssert.java | 4 +- .../data/util/ParameterizedTypeUnitTests.java | 24 ++-- .../data/util/StreamUtilsTests.java | 2 +- .../data/util/TypeDiscovererUnitTests.java | 30 ++--- .../data/util/TypeInformationAssert.java | 4 +- .../data/util/VersionUnitTests.java | 2 +- .../data/web/MapDataBinderUnitTests.java | 8 +- .../data/web/PageableDefaultUnitTests.java | 2 +- .../web/PagedResourcesAssemblerUnitTests.java | 2 +- ...bleResourcesAssemblerIntegrationTests.java | 3 +- ...dslPredicateArgumentResolverUnitTests.java | 6 +- 176 files changed, 673 insertions(+), 797 deletions(-) diff --git a/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java b/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java index 0bd469e04..7c61eea87 100644 --- a/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java +++ b/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -41,6 +41,7 @@ import org.springframework.util.Assert; * * @author Ranie Jade Ramiso * @author Oliver Gierke + * @author Christoph Strobl * @since 1.5 */ final class AnnotationAuditingMetadata { @@ -51,7 +52,7 @@ final class AnnotationAuditingMetadata { private static final AnnotationFieldFilter LAST_MODIFIED_DATE_FILTER = new AnnotationFieldFilter( LastModifiedDate.class); - private static final Map, AnnotationAuditingMetadata> METADATA_CACHE = new ConcurrentHashMap, AnnotationAuditingMetadata>(); + private static final Map, AnnotationAuditingMetadata> METADATA_CACHE = new ConcurrentHashMap<>(); public static final boolean IS_JDK_8 = org.springframework.util.ClassUtils.isPresent("java.time.Clock", AnnotationAuditingMetadata.class.getClassLoader()); @@ -124,7 +125,7 @@ final class AnnotationAuditingMetadata { * @param type the type to inspect, must not be {@literal null}. */ public static AnnotationAuditingMetadata getMetadata(Class type) { - return METADATA_CACHE.computeIfAbsent(type, it -> new AnnotationAuditingMetadata(it)); + return METADATA_CACHE.computeIfAbsent(type, AnnotationAuditingMetadata::new); } /** diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandler.java b/src/main/java/org/springframework/data/auditing/AuditingHandler.java index 81ec06195..85a82ac40 100644 --- a/src/main/java/org/springframework/data/auditing/AuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/AuditingHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -17,6 +17,7 @@ package org.springframework.data.auditing; import java.time.temporal.TemporalAccessor; import java.util.Arrays; +import java.util.Collections; import java.util.Optional; import org.joda.time.DateTime; @@ -35,6 +36,7 @@ import org.springframework.util.Assert; * Auditing handler to mark entity objects created and modified. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.5 */ public class AuditingHandler implements InitializingBean { @@ -59,7 +61,7 @@ public class AuditingHandler implements InitializingBean { @Deprecated public AuditingHandler( MappingContext, ? extends PersistentProperty> mappingContext) { - this(new PersistentEntities(Arrays.asList(mappingContext))); + this(new PersistentEntities(Collections.singletonList(mappingContext))); } /** diff --git a/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java b/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java index 3e19b442b..6a532b982 100644 --- a/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java +++ b/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java @@ -162,9 +162,9 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(); - JodaTimeConverters.getConvertersToRegister().forEach(it -> conversionService.addConverter(it)); - Jsr310Converters.getConvertersToRegister().forEach(it -> conversionService.addConverter(it)); - ThreeTenBackPortConverters.getConvertersToRegister().forEach(it -> conversionService.addConverter(it)); + JodaTimeConverters.getConvertersToRegister().forEach(conversionService::addConverter); + Jsr310Converters.getConvertersToRegister().forEach(conversionService::addConverter); + ThreeTenBackPortConverters.getConvertersToRegister().forEach(conversionService::addConverter); this.conversionService = conversionService; } @@ -214,9 +214,7 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory @SuppressWarnings("unchecked") protected Optional getAsTemporalAccessor(Optional source, Class target) { - return source.map(it -> { - return target.isInstance(it) ? (T) it : conversionService.convert(it, target); - }); + return source.map(it -> target.isInstance(it) ? (T) it : conversionService.convert(it, target)); } } @@ -302,10 +300,8 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory */ private Optional setField(Optional field, Optional value) { - field.ifPresent(it -> { - ReflectionUtils.setField(it, target, - Optional.class.isAssignableFrom(it.getType()) ? value : value.orElse(null)); - }); + field.ifPresent(it -> ReflectionUtils.setField(it, target, + Optional.class.isAssignableFrom(it.getType()) ? value : value.orElse(null))); return value; } diff --git a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java index f93cf550a..14fe64b69 100644 --- a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -16,6 +16,7 @@ package org.springframework.data.auditing; import java.util.Arrays; +import java.util.Collections; import java.util.Optional; import org.springframework.data.mapping.PersistentEntity; @@ -33,6 +34,7 @@ import org.springframework.util.Assert; * {@link #markModified(Optional)} based on the {@link IsNewStrategy} determined from the factory. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.5 */ public class IsNewAwareAuditingHandler extends AuditingHandler { @@ -49,7 +51,7 @@ public class IsNewAwareAuditingHandler extends AuditingHandler { @Deprecated public IsNewAwareAuditingHandler( MappingContext, ? extends PersistentProperty> mappingContext) { - this(new PersistentEntities(Arrays.asList(mappingContext))); + this(new PersistentEntities(Collections.singletonList(mappingContext))); } /** diff --git a/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java b/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java index 280ea4997..41e0b605d 100644 --- a/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java +++ b/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2015 the original author or authors. + * Copyright 2014-2017 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. @@ -39,6 +39,7 @@ import org.springframework.util.Assert; * values. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.8 */ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrapperFactory { @@ -56,7 +57,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap Assert.notNull(entities, "PersistentEntities must not be null!"); this.entities = entities; - this.metadataCache = new HashMap, MappingAuditingMetadata>(); + this.metadataCache = new HashMap<>(); } /* @@ -159,9 +160,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap @Override public Optional setCreatedBy(Optional value) { - metadata.createdByProperty.ifPresent(it -> { - this.accessor.setProperty(it, value); - }); + metadata.createdByProperty.ifPresent(it -> this.accessor.setProperty(it, value)); return value; } @@ -173,9 +172,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap @Override public Optional setCreatedDate(Optional value) { - metadata.createdDateProperty.ifPresent(it -> { - this.accessor.setProperty(it, getDateValueToSet(value, it.getType(), it)); - }); + metadata.createdDateProperty.ifPresent(it -> this.accessor.setProperty(it, getDateValueToSet(value, it.getType(), it))); return value; } @@ -187,9 +184,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap @Override public Optional setLastModifiedBy(Optional value) { - metadata.lastModifiedByProperty.ifPresent(it -> { - this.accessor.setProperty(it, value); - }); + metadata.lastModifiedByProperty.ifPresent(it -> this.accessor.setProperty(it, value)); return value; } @@ -200,7 +195,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap */ @Override public Optional getLastModifiedDate() { - return getAsTemporalAccessor(metadata.lastModifiedDateProperty.map(it -> accessor.getProperty(it)), + return getAsTemporalAccessor(metadata.lastModifiedDateProperty.map(accessor::getProperty), TemporalAccessor.class); } @@ -211,9 +206,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap @Override public Optional setLastModifiedDate(Optional value) { - metadata.lastModifiedDateProperty.ifPresent(it -> { - this.accessor.setProperty(it, getDateValueToSet(value, it.getType(), it)); - }); + metadata.lastModifiedDateProperty.ifPresent(it -> this.accessor.setProperty(it, getDateValueToSet(value, it.getType(), it))); return value; } diff --git a/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java b/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java index 1ad9f278d..c62c3d5af 100644 --- a/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java +++ b/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2017 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. @@ -48,13 +48,14 @@ import org.springframework.util.ClassUtils; * @author Thomas Darimont * @author Oliver Gierke * @author Phillip Webb + * @author Christoph Strobl * @since 1.11 */ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { private final ObjectInstantiatorClassGenerator generator; - private volatile Map, EntityInstantiator> entityInstantiators = new HashMap, EntityInstantiator>( + private volatile Map, EntityInstantiator> entityInstantiators = new HashMap<>( 32); /** @@ -97,7 +98,7 @@ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { instantiator = createEntityInstantiator(entity); - map = new HashMap, EntityInstantiator>(map); + map = new HashMap<>(map); map.put(entity.getTypeInformation(), instantiator); this.entityInstantiators = map; @@ -217,7 +218,7 @@ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { } return it.getParameters().stream()// - .map(parameter -> provider.getParameterValue(parameter))// + .map(provider::getParameterValue)// .toArray(); }).orElse(EMPTY_ARRAY); diff --git a/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java b/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java index ed307b39f..8e57cabee 100644 --- a/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java +++ b/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2017 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. @@ -32,13 +32,11 @@ import org.springframework.data.util.TypeInformation; import org.springframework.util.Assert; /** - * Default implementation of {@link MongoTypeMapper} allowing configuration of the key to lookup and store type - * information in {@link DBObject}. The key defaults to {@link #DEFAULT_TYPE_KEY}. Actual type-to-{@link String} - * conversion and back is done in {@link #getTypeString(TypeInformation)} or {@link #getTypeInformation(String)} - * respectively. + * Default implementation of {@link TypeMapper}. * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl */ public class DefaultTypeMapper implements TypeMapper { @@ -53,7 +51,7 @@ public class DefaultTypeMapper implements TypeMapper { * @param accessor must not be {@literal null}. */ public DefaultTypeMapper(TypeAliasAccessor accessor) { - this(accessor, Arrays.asList(new SimpleTypeInformationMapper())); + this(accessor, Collections.singletonList(new SimpleTypeInformationMapper())); } /** @@ -151,7 +149,7 @@ public class DefaultTypeMapper implements TypeMapper { return readType(source)// .map(it -> readType(source))// .orElseGet(() -> getFallbackTypeFor(source))// - .map(it -> it.getType()); + .map(TypeInformation::getType); } /** diff --git a/src/main/java/org/springframework/data/convert/EntityInstantiators.java b/src/main/java/org/springframework/data/convert/EntityInstantiators.java index 14fad8a54..737146eff 100644 --- a/src/main/java/org/springframework/data/convert/EntityInstantiators.java +++ b/src/main/java/org/springframework/data/convert/EntityInstantiators.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -27,6 +27,7 @@ import org.springframework.util.Assert; * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl */ public class EntityInstantiators { @@ -37,7 +38,7 @@ public class EntityInstantiators { * Creates a new {@link EntityInstantiators} using the default fallback instantiator and no custom ones. */ public EntityInstantiators() { - this(Collections., EntityInstantiator> emptyMap()); + this(Collections.emptyMap()); } /** @@ -46,7 +47,7 @@ public class EntityInstantiators { * @param fallback must not be {@literal null}. */ public EntityInstantiators(EntityInstantiator fallback) { - this(fallback, Collections., EntityInstantiator> emptyMap()); + this(fallback, Collections.emptyMap()); } /** diff --git a/src/main/java/org/springframework/data/convert/JodaTimeConverters.java b/src/main/java/org/springframework/data/convert/JodaTimeConverters.java index c3ade59be..67d6212b4 100644 --- a/src/main/java/org/springframework/data/convert/JodaTimeConverters.java +++ b/src/main/java/org/springframework/data/convert/JodaTimeConverters.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 the original author or authors. + * Copyright 2013-2017 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. @@ -33,6 +33,7 @@ import org.springframework.util.ClassUtils; * classpath. * * @author Oliver Gierke + * @author Christoph Strobl */ @SuppressWarnings("deprecation") public abstract class JodaTimeConverters { @@ -50,7 +51,7 @@ public abstract class JodaTimeConverters { return Collections.emptySet(); } - List> converters = new ArrayList>(); + List> converters = new ArrayList<>(); converters.add(LocalDateToDateConverter.INSTANCE); converters.add(LocalDateTimeToDateConverter.INSTANCE); converters.add(DateTimeToDateConverter.INSTANCE); diff --git a/src/main/java/org/springframework/data/convert/Jsr310Converters.java b/src/main/java/org/springframework/data/convert/Jsr310Converters.java index 27f254028..53e3989a7 100644 --- a/src/main/java/org/springframework/data/convert/Jsr310Converters.java +++ b/src/main/java/org/springframework/data/convert/Jsr310Converters.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2016 the original author or authors. + * Copyright 2013-2017 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. @@ -41,6 +41,7 @@ import org.springframework.util.ClassUtils; * * @author Oliver Gierke * @author Barak Schoster + * @author Christoph Strobl */ public abstract class Jsr310Converters { @@ -58,7 +59,7 @@ public abstract class Jsr310Converters { return Collections.emptySet(); } - List> converters = new ArrayList>(); + List> converters = new ArrayList<>(); converters.add(DateToLocalDateTimeConverter.INSTANCE); converters.add(LocalDateTimeToDateConverter.INSTANCE); converters.add(DateToLocalDateConverter.INSTANCE); diff --git a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java index c62987ad1..8c44d317c 100644 --- a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 the original author or authors. + * Copyright 2011-2017 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. @@ -33,6 +33,7 @@ import org.springframework.util.Assert; * inspecting the {@link PersistentEntity} instances for type alias information. * * @author Oliver Gierke + * @author Christoph Strobl */ public class MappingContextTypeInformationMapper implements TypeInformationMapper { @@ -63,9 +64,7 @@ public class MappingContextTypeInformationMapper implements TypeInformationMappe */ public Alias createAliasFor(TypeInformation type) { - return typeMap.computeIfAbsent(type.getRawTypeInformation(), key -> { - return verify(key, mappingContext.getPersistentEntity(key).map(it -> it.getTypeAlias()).orElse(Alias.NONE)); - }); + return typeMap.computeIfAbsent(type.getRawTypeInformation(), key -> verify(key, mappingContext.getPersistentEntity(key).map(PersistentEntity::getTypeAlias).orElse(Alias.NONE))); } /** diff --git a/src/main/java/org/springframework/data/convert/ReflectionEntityInstantiator.java b/src/main/java/org/springframework/data/convert/ReflectionEntityInstantiator.java index ebd4198dc..57ad5684b 100644 --- a/src/main/java/org/springframework/data/convert/ReflectionEntityInstantiator.java +++ b/src/main/java/org/springframework/data/convert/ReflectionEntityInstantiator.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2013 the original author or authors. + * Copyright 2012-2017 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. @@ -35,6 +35,7 @@ import org.springframework.data.mapping.model.ParameterValueProvider; * instance of the entity via reflection. * * @author Oliver Gierke + * @author Christoph Strobl */ public enum ReflectionEntityInstantiator implements EntityInstantiator { @@ -50,7 +51,7 @@ public enum ReflectionEntityInstantiator implements EntityInstantiator { .map(it -> constructor.getParameters().stream()// .map(parameter -> it.getParameterValue(parameter).orElse(Optional.empty()))// .collect(Collectors.toList()))// - .orElseGet(() -> Collections.emptyList()); + .orElseGet(Collections::emptyList); List foo = new ArrayList<>(params.size()); diff --git a/src/main/java/org/springframework/data/convert/ThreeTenBackPortConverters.java b/src/main/java/org/springframework/data/convert/ThreeTenBackPortConverters.java index 12bb7e5fb..f51b45bbc 100644 --- a/src/main/java/org/springframework/data/convert/ThreeTenBackPortConverters.java +++ b/src/main/java/org/springframework/data/convert/ThreeTenBackPortConverters.java @@ -40,6 +40,7 @@ import org.threeten.bp.ZoneId; * the classpath. * * @author Oliver Gierke + * @author Christoph Strobl * @see http://www.threeten.org/threetenbp * @since 1.10 */ @@ -59,7 +60,7 @@ public abstract class ThreeTenBackPortConverters { return Collections.emptySet(); } - List> converters = new ArrayList>(); + List> converters = new ArrayList<>(); converters.add(DateToLocalDateTimeConverter.INSTANCE); converters.add(LocalDateTimeToDateConverter.INSTANCE); converters.add(DateToLocalDateConverter.INSTANCE); diff --git a/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java b/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java index 694cef704..5f294de8c 100644 --- a/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java +++ b/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java @@ -1,5 +1,5 @@ /* - * Copyright 2011 the original author or authors. + * Copyright 2011.2017 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. @@ -26,6 +26,7 @@ import org.springframework.core.convert.ConversionService; * * @author Thomas Risberg * @author Rod Johnson + * @author Christoph Strobl */ public class HashMapChangeSet implements ChangeSet { @@ -36,7 +37,7 @@ public class HashMapChangeSet implements ChangeSet { } public HashMapChangeSet() { - this(new HashMap()); + this(new HashMap<>()); } public void set(String key, Object o) { diff --git a/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java b/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java index 1be2d258d..eb9748241 100644 --- a/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java +++ b/src/main/java/org/springframework/data/domain/AbstractAggregateRoot.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -29,6 +29,7 @@ import org.springframework.util.Assert; * here, rather build your own base class and use the annotations directly. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 */ public class AbstractAggregateRoot { @@ -37,7 +38,7 @@ public class AbstractAggregateRoot { * All domain events currently captured by the aggregate. */ @Getter(onMethod = @__(@DomainEvents)) // - private transient final List domainEvents = new ArrayList(); + private transient final List domainEvents = new ArrayList<>(); /** * Registers the given event object for publication on a call to a Spring Data repository's save method. diff --git a/src/main/java/org/springframework/data/domain/Chunk.java b/src/main/java/org/springframework/data/domain/Chunk.java index 4cbc1c36c..a0fe6713d 100644 --- a/src/main/java/org/springframework/data/domain/Chunk.java +++ b/src/main/java/org/springframework/data/domain/Chunk.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2015 the original author or authors. + * Copyright 2014-2017 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. @@ -29,6 +29,7 @@ import org.springframework.util.Assert; * A chunk of data restricted by the configured {@link Pageable}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.8 */ abstract class Chunk implements Slice, Serializable { @@ -159,7 +160,7 @@ abstract class Chunk implements Slice, Serializable { Assert.notNull(converter, "Converter must not be null!"); - return this.stream().map(it -> converter.convert(it)).collect(Collectors.toList()); + return this.stream().map(converter::convert).collect(Collectors.toList()); } /* diff --git a/src/main/java/org/springframework/data/domain/ExampleMatcher.java b/src/main/java/org/springframework/data/domain/ExampleMatcher.java index ffea0c87a..f0f349372 100644 --- a/src/main/java/org/springframework/data/domain/ExampleMatcher.java +++ b/src/main/java/org/springframework/data/domain/ExampleMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -62,7 +62,7 @@ public class ExampleMatcher { @Wither(AccessLevel.PRIVATE) MatchMode mode; private ExampleMatcher() { - this(NullHandler.IGNORE, StringMatcher.DEFAULT, new PropertySpecifiers(), Collections.emptySet(), false, + this(NullHandler.IGNORE, StringMatcher.DEFAULT, new PropertySpecifiers(), Collections.emptySet(), false, MatchMode.ALL); } @@ -807,7 +807,7 @@ public class ExampleMatcher { @EqualsAndHashCode public static class PropertySpecifiers { - private final Map propertySpecifiers = new LinkedHashMap(); + private final Map propertySpecifiers = new LinkedHashMap<>(); PropertySpecifiers() {} diff --git a/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java b/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java index 681a07e98..b57ce5c83 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java +++ b/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2017 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. @@ -29,6 +29,7 @@ import org.springframework.data.domain.jaxb.SpringDataJaxb.SortDto; * {@link XmlAdapter} to convert {@link Pageable} instances int a {@link PageRequestDto} and vice versa. * * @author Oliver Gierke + * @author Christoph Strobl */ class PageableAdapter extends XmlAdapter { @@ -42,7 +43,7 @@ class PageableAdapter extends XmlAdapter { SortDto sortDto = SortAdapter.INSTANCE.marshal(request.getSort()); PageRequestDto dto = new PageRequestDto(); - dto.orders = sortDto == null ? Collections.emptyList() : sortDto.orders; + dto.orders = sortDto == null ? Collections.emptyList() : sortDto.orders; dto.page = request.getPageNumber(); dto.size = request.getPageSize(); diff --git a/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java b/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java index 55cf5cec7..63f486dda 100644 --- a/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java +++ b/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2015 the original author or authors. + * Copyright 2014-2017 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. @@ -35,6 +35,7 @@ import org.springframework.util.StringUtils; * {@value #SUPPORTED_METRICS}. * * @author Oliver Gierke + * @author Christoph Strobl */ public enum DistanceFormatter implements Converter, Formatter { @@ -45,7 +46,7 @@ public enum DistanceFormatter implements Converter, Formatter< static { - Map metrics = new LinkedHashMap(); + Map metrics = new LinkedHashMap<>(); for (Metric metric : Metrics.values()) { metrics.put(metric.getAbbreviation(), metric); diff --git a/src/main/java/org/springframework/data/history/Revision.java b/src/main/java/org/springframework/data/history/Revision.java index 7b310822d..607e9824e 100755 --- a/src/main/java/org/springframework/data/history/Revision.java +++ b/src/main/java/org/springframework/data/history/Revision.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2017 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. @@ -28,6 +28,7 @@ import java.util.Optional; * * @author Oliver Gierke * @author Philipp Huegelmeyer + * @author Christoph Strobl */ @Value @RequiredArgsConstructor(access = AccessLevel.PRIVATE) @@ -51,7 +52,7 @@ public final class Revision, T> implements Comp * @return */ public static , T> Revision of(RevisionMetadata metadata, T entity) { - return new Revision(metadata, entity); + return new Revision<>(metadata, entity); } /** @@ -81,9 +82,7 @@ public final class Revision, T> implements Comp Optional thisRevisionNumber = getRevisionNumber(); Optional thatRevisionNumber = that.getRevisionNumber(); - return thisRevisionNumber.map(left -> { - return thatRevisionNumber.map(right -> left.compareTo(right)).orElse(1); - }).orElse(-1); + return thisRevisionNumber.map(left -> thatRevisionNumber.map(left::compareTo).orElse(1)).orElse(-1); } /* diff --git a/src/main/java/org/springframework/data/history/Revisions.java b/src/main/java/org/springframework/data/history/Revisions.java index e0557bc4a..daad89bc7 100644 --- a/src/main/java/org/springframework/data/history/Revisions.java +++ b/src/main/java/org/springframework/data/history/Revisions.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2017 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. @@ -28,6 +28,7 @@ import org.springframework.util.Assert; * Allows iterating over the underlying {@link Revisions} starting with older revisions. * * @author Oliver Gierke + * @author Christoph Strobl */ public class Revisions, T> implements Iterable> { @@ -64,7 +65,7 @@ public class Revisions, T> implements Iterable< } public static , T> Revisions of(List> revisions) { - return new Revisions(revisions); + return new Revisions<>(revisions); } /** @@ -83,7 +84,7 @@ public class Revisions, T> implements Iterable< * @return */ public Revisions reverse() { - return new Revisions(revisions, !latestLast); + return new Revisions<>(revisions, !latestLast); } /* diff --git a/src/main/java/org/springframework/data/mapping/Alias.java b/src/main/java/org/springframework/data/mapping/Alias.java index 7d393b8bc..84df2bd92 100644 --- a/src/main/java/org/springframework/data/mapping/Alias.java +++ b/src/main/java/org/springframework/data/mapping/Alias.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -23,6 +23,7 @@ import java.util.Optional; /** * @author Oliver Gierke + * @author Christoph Strobl */ @Value @RequiredArgsConstructor(access = AccessLevel.PRIVATE) @@ -57,7 +58,7 @@ public class Alias { } public Optional mapTyped(Class type) { - return value.filter(it -> type.isInstance(it)).map(it -> type.cast(it)); + return value.filter(type::isInstance).map(type::cast); } public String toString() { diff --git a/src/main/java/org/springframework/data/mapping/PreferredConstructor.java b/src/main/java/org/springframework/data/mapping/PreferredConstructor.java index 58bb708d8..df284e624 100644 --- a/src/main/java/org/springframework/data/mapping/PreferredConstructor.java +++ b/src/main/java/org/springframework/data/mapping/PreferredConstructor.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 the original author or authors. + * Copyright 2011-2017 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. @@ -42,12 +42,13 @@ import org.springframework.util.StringUtils; * @author Oliver Gierke * @author Jon Brisbin * @author Thomas Darimont + * @author Christoph Strobl */ public class PreferredConstructor> { private final Constructor constructor; private final List> parameters; - private final Map, Boolean> isPropertyParameterCache = new HashMap, Boolean>(); + private final Map, Boolean> isPropertyParameterCache = new HashMap<>(); private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); private final Lock read = lock.readLock(); @@ -218,7 +219,7 @@ public class PreferredConstructor> { this.entity = entity; this.enclosingClassCache = Lazy.of(() -> { - Class owningType = entity.orElseThrow(() -> new IllegalStateException()).getType(); + Class owningType = entity.orElseThrow(IllegalStateException::new).getType(); return owningType.isMemberClass() && type.getType().equals(owningType.getEnclosingClass()); }); @@ -230,7 +231,7 @@ public class PreferredConstructor> { return Arrays.stream(annotations)// .filter(it -> it.annotationType() == Value.class)// .findFirst().map(it -> ((Value) it).value())// - .filter(it -> StringUtils.hasText(it)); + .filter(StringUtils::hasText); } /** @@ -286,13 +287,11 @@ public class PreferredConstructor> { */ boolean maps(PersistentProperty property) { - if (!name.isPresent()) { - return false; - } - - return entity// - .flatMap(it -> it.getPersistentProperty(name.get()))// - .map(it -> property.equals(it)).orElse(false); + // +// + return name.map(s -> entity + .flatMap(it -> it.getPersistentProperty(s)) + .map(property::equals).orElse(false)).orElse(false); } private boolean isEnclosingClassParameter() { diff --git a/src/main/java/org/springframework/data/mapping/PropertyPath.java b/src/main/java/org/springframework/data/mapping/PropertyPath.java index b93bb7b8d..9a5a82fbe 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/PropertyPath.java @@ -61,7 +61,7 @@ public class PropertyPath implements Streamable { * @param owningType must not be {@literal null}. */ PropertyPath(String name, Class owningType) { - this(name, ClassTypeInformation.from(owningType), Collections. emptyList()); + this(name, ClassTypeInformation.from(owningType), Collections.emptyList()); } /** diff --git a/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java b/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java index a5b689673..59a28c47a 100644 --- a/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java +++ b/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 by the original author(s). + * Copyright 2011-2017 by the original author(s). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -76,6 +76,7 @@ import org.springframework.util.StringUtils; * @author Tomasz Wysocki * @author Mark Paluch * @author Mikael Klamra + * @author Christoph Strobl */ public abstract class AbstractMappingContext, P extends PersistentProperty

> implements MappingContext, ApplicationEventPublisherAware, InitializingBean { @@ -86,7 +87,7 @@ public abstract class AbstractMappingContext> initialEntitySet = new HashSet>(); + private Set> initialEntitySet = new HashSet<>(); private boolean strict = false; private SimpleTypeHolder simpleTypeHolder = new SimpleTypeHolder(); @@ -147,7 +148,7 @@ public abstract class AbstractMappingContext Optionals.toStream(it))// + .flatMap(Optionals::toStream)// .collect(Collectors.toSet()); } finally { @@ -391,7 +392,7 @@ public abstract class AbstractMappingContext descriptors = new HashMap(); + final Map descriptors = new HashMap<>(); for (PropertyDescriptor descriptor : pds) { descriptors.put(descriptor.getName(), descriptor); } @@ -415,7 +416,7 @@ public abstract class AbstractMappingContext(this, entity)); + applicationEventPublisher.publishEvent(new MappingContextEvent<>(this, entity)); } return Optional.of(entity); @@ -437,7 +438,7 @@ public abstract class AbstractMappingContext>(persistentEntities.keySet())); + return Collections.unmodifiableSet(new HashSet<>(persistentEntities.keySet())); } finally { read.unlock(); @@ -478,7 +479,7 @@ public abstract class AbstractMappingContext addPersistentEntity(it)); + initialEntitySet.forEach(this::addPersistentEntity); } /** @@ -551,13 +552,13 @@ public abstract class AbstractMappingContext entity.addAssociation(it)); + property.getAssociation().ifPresent(entity::addAssociation); if (entity.getType().equals(property.getRawType())) { return; } - property.getPersistentEntityType().forEach(it -> addPersistentEntity(it)); + property.getPersistentEntityType().forEach(AbstractMappingContext.this::addPersistentEntity); } } diff --git a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java index 4f2496207..ef474de74 100644 --- a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 the original author or authors. + * Copyright 2011-2017 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. @@ -30,6 +30,7 @@ import org.springframework.util.StringUtils; * Abstraction of a path of {@link PersistentProperty}s. * * @author Oliver Gierke + * @author Christoph Strobl */ class DefaultPersistentPropertyPath> implements PersistentPropertyPath { @@ -77,7 +78,7 @@ class DefaultPersistentPropertyPath> implements Assert.notNull(property, "Property must not be null!"); if (isEmpty()) { - return new DefaultPersistentPropertyPath<>(Arrays.asList(property)); + return new DefaultPersistentPropertyPath<>(Collections.singletonList(property)); } Class leafPropertyType = getLeafProperty().getActualType(); @@ -121,8 +122,8 @@ class DefaultPersistentPropertyPath> implements public String toPath(String delimiter, Converter converter) { @SuppressWarnings("unchecked") - Converter converterToUse = (Converter) (converter == null - ? PropertyNameConverter.INSTANCE : converter); + Converter converterToUse = converter == null + ? PropertyNameConverter.INSTANCE : converter; String delimiterToUse = delimiter == null ? "." : delimiter; List result = new ArrayList<>(); diff --git a/src/main/java/org/springframework/data/mapping/context/MappingContextIsNewStrategyFactory.java b/src/main/java/org/springframework/data/mapping/context/MappingContextIsNewStrategyFactory.java index d199f1b4b..3eac2a575 100644 --- a/src/main/java/org/springframework/data/mapping/context/MappingContextIsNewStrategyFactory.java +++ b/src/main/java/org/springframework/data/mapping/context/MappingContextIsNewStrategyFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -19,6 +19,7 @@ import lombok.NonNull; import lombok.RequiredArgsConstructor; import java.util.Arrays; +import java.util.Collections; import java.util.Optional; import java.util.function.Function; @@ -37,6 +38,7 @@ import org.springframework.util.Assert; * value of 0 in case of a version property. * * @author Oliver Gierke + * @author Christoph Strobl */ public class MappingContextIsNewStrategyFactory extends IsNewStrategyFactorySupport { @@ -50,7 +52,7 @@ public class MappingContextIsNewStrategyFactory extends IsNewStrategyFactorySupp */ @Deprecated public MappingContextIsNewStrategyFactory(MappingContext, ?> context) { - this(new PersistentEntities(Arrays.asList(context))); + this(new PersistentEntities(Collections.singletonList(context))); } /** @@ -73,7 +75,7 @@ public class MappingContextIsNewStrategyFactory extends IsNewStrategyFactorySupp protected IsNewStrategy doGetIsNewStrategy(Class type) { return context.getPersistentEntity(type)// - .flatMap(it -> foo(it))// + .flatMap(MappingContextIsNewStrategyFactory::foo)// .orElseThrow(() -> new MappingException(String.format("Cannot determine IsNewStrategy for type %s!", type))); } diff --git a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java index f43ae97c7..e411d1d56 100644 --- a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java @@ -72,7 +72,7 @@ public abstract class AbstractPersistentProperty

this.association = isAssociation() ? Optional.of(createAssociation()) : Optional.empty(); this.owner = owner; this.simpleTypeHolder = simpleTypeHolder; - this.hashCode = Lazy.of(() -> property.hashCode()); + this.hashCode = Lazy.of(property::hashCode); } protected abstract Association

createAssociation(); @@ -125,7 +125,7 @@ public abstract class AbstractPersistentProperty

} TypeInformation candidate = getTypeInformationIfEntityCandidate(); - return candidate != null ? Collections.singleton(candidate) : Collections.>emptySet(); + return candidate != null ? Collections.singleton(candidate) : Collections.emptySet(); } private TypeInformation getTypeInformationIfEntityCandidate() { @@ -267,7 +267,7 @@ public abstract class AbstractPersistentProperty

*/ @Override public Class getMapValueType() { - return isMap() ? information.getMapValueType().map(it -> it.getType()).orElse(null) : null; + return isMap() ? information.getMapValueType().map(TypeInformation::getType).orElse(null) : null; } /* diff --git a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java b/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java index bc5fd8ee8..9a337934a 100644 --- a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java @@ -83,7 +83,7 @@ public abstract class AnnotationBasedPersistentProperty

{ @@ -221,7 +221,7 @@ public abstract class AnnotationBasedPersistentProperty

it.map(inner -> AnnotatedElementUtils.findMergedAnnotation(inner, annotationType)))// - .flatMap(it -> Optionals.toStream(it))// + .flatMap(Optionals::toStream)// .findFirst()); } @@ -281,12 +281,15 @@ public abstract class AnnotationBasedPersistentProperty

Optionals.toStream(it))// + String builder = annotationCache.values().stream()// + .flatMap(Optionals::toStream)// .map(Object::toString)// - .collect(Collectors.joining(" "))); + .collect(Collectors.joining(" ")); - return builder.toString() + super.toString(); + return builder// +// +// + + super.toString(); } private Stream> getAccessors() { diff --git a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java index def7da1b7..ef167ec91 100644 --- a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java @@ -109,7 +109,7 @@ public class BasicPersistentEntity> implement this.comparator = comparator; this.constructor = new PreferredConstructorDiscoverer<>(this).getConstructor(); this.associations = comparator.>> map(it -> new TreeSet<>(new AssociationComparator<>(it))) - .orElseGet(() -> new HashSet<>()); + .orElseGet(HashSet::new); this.propertyCache = new HashMap<>(); this.annotationCache = new HashMap<>(); @@ -118,7 +118,7 @@ public class BasicPersistentEntity> implement this.typeAlias = Lazy.of(() -> Alias .ofOptional(Optional.ofNullable(AnnotatedElementUtils.findMergedAnnotation(getType(), TypeAlias.class))// .map(TypeAlias::value)// - .filter(it -> StringUtils.hasText(it)))); + .filter(StringUtils::hasText))); } /* @@ -338,7 +338,7 @@ public class BasicPersistentEntity> implement Assert.notNull(handler, "PropertyHandler must not be null!"); - getPersistentProperties().forEach(it -> handler.doWithPersistentProperty(it)); + getPersistentProperties().forEach(handler::doWithPersistentProperty); } /* @@ -350,7 +350,7 @@ public class BasicPersistentEntity> implement Assert.notNull(handler, "Handler must not be null!"); - getPersistentProperties().forEach(it -> handler.doWithPersistentProperty(it)); + getPersistentProperties().forEach(handler::doWithPersistentProperty); } /* @@ -416,7 +416,7 @@ public class BasicPersistentEntity> implement * @see org.springframework.data.mapping.MutablePersistentEntity#verify() */ public void verify() { - comparator.ifPresent(it -> Collections.sort(properties, it)); + comparator.ifPresent(it -> properties.sort(it)); } /* diff --git a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java index 7cb87a325..6f4c2ebbf 100644 --- a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java +++ b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java @@ -36,6 +36,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; import java.util.stream.Collectors; import org.springframework.asm.ClassWriter; @@ -66,7 +67,7 @@ import org.springframework.util.ReflectionUtils; */ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropertyAccessorFactory { - private volatile Map, Class> propertyAccessorClasses = new HashMap, Class>( + private volatile Map, Class> propertyAccessorClasses = new HashMap<>( 32); private volatile Map, Constructor> constructorMap = new HashMap<>(32); @@ -303,25 +304,15 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static List> getPersistentProperties(PersistentEntity entity) { - final List> persistentProperties = new ArrayList>(); + final List> persistentProperties = new ArrayList<>(); - entity.doWithAssociations(new SimpleAssociationHandler() { - - @Override - public void doWithAssociation(Association> association) { - if (association.getInverse() != null) { - persistentProperties.add(association.getInverse()); - } + entity.doWithAssociations((SimpleAssociationHandler) association -> { + if (association.getInverse() != null) { + persistentProperties.add(association.getInverse()); } }); - entity.doWithProperties(new SimplePropertyHandler() { - - @Override - public void doWithPersistentProperty(PersistentProperty property) { - persistentProperties.add(property); - } - }); + entity.doWithProperties((SimplePropertyHandler) property -> persistentProperties.add(property)); return persistentProperties; } @@ -360,15 +351,10 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert for (PersistentProperty property : persistentProperties) { - property.getSetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> { - cw.visitField(ACC_PRIVATE + ACC_FINAL + ACC_STATIC, setterName(property), - referenceName(JAVA_LANG_INVOKE_METHOD_HANDLE), null, null).visitEnd(); - }); - property.getGetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> { - - cw.visitField(ACC_PRIVATE + ACC_FINAL + ACC_STATIC, getterName(property), - referenceName(JAVA_LANG_INVOKE_METHOD_HANDLE), null, null).visitEnd(); - }); + property.getSetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> cw.visitField(ACC_PRIVATE + ACC_FINAL + ACC_STATIC, setterName(property), + referenceName(JAVA_LANG_INVOKE_METHOD_HANDLE), null, null).visitEnd()); + property.getGetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> cw.visitField(ACC_PRIVATE + ACC_FINAL + ACC_STATIC, getterName(property), + referenceName(JAVA_LANG_INVOKE_METHOD_HANDLE), null, null).visitEnd()); property.getField().filter(it -> generateSetterMethodHandle(entity, it)).ifPresent(it -> { @@ -497,18 +483,12 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert if (property.usePropertyAccess()) { - property.getGetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> { - visitPropertyGetterInitializer(property, mv, entityClasses, internalClassName); - }); + property.getGetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> visitPropertyGetterInitializer(property, mv, entityClasses, internalClassName)); - property.getSetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> { - visitPropertySetterInitializer(property, mv, entityClasses, internalClassName); - }); + property.getSetter().filter(it -> generateMethodHandle(entity, it)).ifPresent(it -> visitPropertySetterInitializer(property, mv, entityClasses, internalClassName)); } - property.getField().filter(it -> generateSetterMethodHandle(entity, it)).ifPresent(it -> { - visitFieldGetterSetterInitializer(property, mv, entityClasses, internalClassName); - }); + property.getField().filter(it -> generateSetterMethodHandle(entity, it)).ifPresent(it -> visitFieldGetterSetterInitializer(property, mv, entityClasses, internalClassName)); } mv.visitLabel(l1); @@ -1249,7 +1229,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static Map createPropertyStackMap( List> persistentProperties) { - Map stackmap = new HashMap(); + Map stackmap = new HashMap<>(); for (PersistentProperty property : persistentProperties) { stackmap.put(property.getName(), new PropertyStackAddress(new Label(), property.getName().hashCode())); diff --git a/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java b/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java index 334d7bacb..949ddddf9 100644 --- a/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2014 the original author or authors. + * Copyright 2014-2017 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. @@ -57,6 +57,6 @@ public class IdPropertyIdentifierAccessor implements IdentifierAccessor { * @see org.springframework.data.keyvalue.core.IdentifierAccessor#getIdentifier() */ public Optional getIdentifier() { - return idProperty.flatMap(it -> accessor.getProperty(it)); + return idProperty.flatMap(accessor::getProperty); } } diff --git a/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java b/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java index 0f22b1fbf..8fe07c60b 100644 --- a/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java +++ b/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 the original author or authors. + * Copyright 2011-2017 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. @@ -29,6 +29,7 @@ import org.springframework.data.mapping.PreferredConstructor; * * @author Oliver Gierke * @author Jon Brisbin + * @author Christoph Strobl */ public class MappingInstantiationException extends RuntimeException { @@ -57,13 +58,13 @@ public class MappingInstantiationException extends RuntimeException { super(buildExceptionMessage(entity, arguments.stream(), message), cause); - this.entityType = entity.map(it -> it.getType()).orElse(null); - this.constructor = entity.flatMap(it -> it.getPersistenceConstructor()).map(c -> c.getConstructor()).orElse(null); + this.entityType = entity.map(PersistentEntity::getType).orElse(null); + this.constructor = entity.flatMap(PersistentEntity::getPersistenceConstructor).map(PreferredConstructor::getConstructor).orElse(null); this.constructorArguments = arguments; } - private static final String buildExceptionMessage(Optional> entity, Stream arguments, - String defaultMessage) { + private static String buildExceptionMessage(Optional> entity, Stream arguments, + String defaultMessage) { return entity.map(it -> { diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java b/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java index d192875ed..90811d193 100644 --- a/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java +++ b/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2017 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. @@ -30,6 +30,7 @@ import org.springframework.util.Assert; * expression evaluation. * * @author Oliver Gierke + * @author Christoph Strobl */ public class PersistentEntityParameterValueProvider

> implements ParameterValueProvider

{ @@ -72,7 +73,7 @@ public class PersistentEntityParameterValueProvider

entity.getPersistentProperty(it))// + .flatMap(entity::getPersistentProperty)// .orElseThrow(() -> new MappingException( String.format("No property %s found on entity %s to bind constructor parameter to!", parameter.getName(), entity.getType())))); diff --git a/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java b/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java index 244673c1b..f39e7a634 100644 --- a/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 by the original author(s). + * Copyright 2011-2017 by the original author(s). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ import org.springframework.data.util.TypeInformation; * Helper class to find a {@link PreferredConstructor}. * * @author Oliver Gierke + * @author Christoph Strobl */ public class PreferredConstructorDiscoverer> { @@ -104,7 +105,7 @@ public class PreferredConstructorDiscoverer> List> parameterTypes = typeInformation.getParameterTypes(constructor); if (parameterTypes.isEmpty()) { - return new PreferredConstructor((Constructor) constructor); + return new PreferredConstructor<>((Constructor) constructor); } String[] parameterNames = discoverer.getParameterNames(constructor); @@ -121,7 +122,7 @@ public class PreferredConstructorDiscoverer> parameters[i] = new Parameter(name, type, annotations, entity); } - return new PreferredConstructor((Constructor) constructor, parameters); + return new PreferredConstructor<>((Constructor) constructor, parameters); } /** diff --git a/src/main/java/org/springframework/data/mapping/model/Property.java b/src/main/java/org/springframework/data/mapping/model/Property.java index a2063a988..25d2b6cd0 100644 --- a/src/main/java/org/springframework/data/mapping/model/Property.java +++ b/src/main/java/org/springframework/data/mapping/model/Property.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -18,6 +18,7 @@ package org.springframework.data.mapping.model; import lombok.Getter; import lombok.RequiredArgsConstructor; +import java.beans.FeatureDescriptor; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -28,6 +29,7 @@ import org.springframework.util.Assert; /** * @author Oliver Gierke + * @author Christoph Strobl */ @RequiredArgsConstructor public class Property { @@ -42,10 +44,10 @@ public class Property { this.field = field; this.descriptor = descriptor; - this.hashCode = Lazy.of(() -> computeHashCode()); + this.hashCode = Lazy.of(this::computeHashCode); this.rawType = Lazy - .of(() -> field.>map(Field::getType).orElseGet(() -> descriptor.map(it -> it.getPropertyType())// - .orElseThrow(() -> new IllegalStateException()))); + .of(() -> field.>map(Field::getType).orElseGet(() -> descriptor.map(PropertyDescriptor::getPropertyType)// + .orElseThrow(IllegalStateException::new))); } public static Property of(Field field) { @@ -70,12 +72,12 @@ public class Property { } public Optional getGetter() { - return descriptor.map(it -> it.getReadMethod())// + return descriptor.map(PropertyDescriptor::getReadMethod)// .filter(it -> getType().isAssignableFrom(it.getReturnType())); } public Optional getSetter() { - return descriptor.map(it -> it.getWriteMethod())// + return descriptor.map(PropertyDescriptor::getWriteMethod)// .filter(it -> it.getParameterTypes()[0].isAssignableFrom(getType())); } @@ -87,8 +89,8 @@ public class Property { * @return */ public String getName() { - return field.map(Field::getName).orElseGet(() -> descriptor.map(it -> it.getName())// - .orElseThrow(() -> new IllegalStateException())); + return field.map(Field::getName).orElseGet(() -> descriptor.map(FeatureDescriptor::getName)// + .orElseThrow(IllegalStateException::new)); } public Class getType() { @@ -97,8 +99,8 @@ public class Property { private int computeHashCode() { - return this.field.map(it -> it.hashCode()) - .orElseGet(() -> this.descriptor.map(it -> it.hashCode()).orElseThrow(() -> new IllegalStateException())); + return this.field.map(Field::hashCode) + .orElseGet(() -> this.descriptor.map(PropertyDescriptor::hashCode).orElseThrow(IllegalStateException::new)); } /* @@ -137,6 +139,6 @@ public class Property { @Override public String toString() { return field.map(Object::toString) - .orElseGet(() -> descriptor.map(Object::toString).orElseThrow(() -> new IllegalStateException())); + .orElseGet(() -> descriptor.map(Object::toString).orElseThrow(IllegalStateException::new)); } } diff --git a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java index 152928777..3437d28d5 100644 --- a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java +++ b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 by the original author(s). + * Copyright 2011-2017 by the original author(s). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,10 +28,11 @@ import org.springframework.util.Assert; * Simple container to hold a set of types to be considered simple types. * * @author Oliver Gierke + * @author Christoph Strobl */ public class SimpleTypeHolder { - private static final Set> DEFAULTS = new HashSet>(); + private static final Set> DEFAULTS = new HashSet<>(); static { DEFAULTS.add(boolean.class); @@ -74,7 +75,7 @@ public class SimpleTypeHolder { */ @SuppressWarnings("unchecked") public SimpleTypeHolder() { - this(Collections.EMPTY_SET, true); + this(Collections.emptySet(), true); } /** @@ -87,7 +88,7 @@ public class SimpleTypeHolder { public SimpleTypeHolder(Set> customSimpleTypes, boolean registerDefaults) { Assert.notNull(customSimpleTypes, "CustomSimpleTypes must not be null!"); - this.simpleTypes = new CopyOnWriteArraySet>(customSimpleTypes); + this.simpleTypes = new CopyOnWriteArraySet<>(customSimpleTypes); if (registerDefaults) { this.simpleTypes.addAll(DEFAULTS); @@ -105,7 +106,7 @@ public class SimpleTypeHolder { Assert.notNull(customSimpleTypes, "CustomSimpleTypes must not be null!"); Assert.notNull(source, "SourceTypeHolder must not be null!"); - this.simpleTypes = new CopyOnWriteArraySet>(customSimpleTypes); + this.simpleTypes = new CopyOnWriteArraySet<>(customSimpleTypes); this.simpleTypes.addAll(source.simpleTypes); } diff --git a/src/main/java/org/springframework/data/projection/Accessor.java b/src/main/java/org/springframework/data/projection/Accessor.java index dc0602562..04ab154b9 100644 --- a/src/main/java/org/springframework/data/projection/Accessor.java +++ b/src/main/java/org/springframework/data/projection/Accessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -25,6 +25,7 @@ import org.springframework.util.Assert; * Helper value to abstract an accessor. * * @author Oliver Gierke + * @author Christoph Strobl * @soundtrack Benny Greb - Soulfood (Live) * @since 1.13 */ @@ -46,7 +47,7 @@ public final class Accessor { this.descriptor = BeanUtils.findPropertyForMethod(method); this.method = method; - Assert.notNull(descriptor, String.format("Invoked method %s is no accessor method!", method)); + Assert.notNull(descriptor, () -> String.format("Invoked method %s is no accessor method!", method)); } /** diff --git a/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java b/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java index 17b432695..901ba2b7a 100644 --- a/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java +++ b/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2017 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. @@ -20,11 +20,9 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import org.springframework.beans.BeanUtils; -import org.springframework.data.util.ReflectionUtils; import org.springframework.util.Assert; /** @@ -32,6 +30,7 @@ import org.springframework.util.Assert; * properties. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.12 */ class DefaultProjectionInformation implements ProjectionInformation { @@ -102,7 +101,7 @@ class DefaultProjectionInformation implements ProjectionInformation { */ private static List collectDescriptors(Class type) { - List result = new ArrayList(); + List result = new ArrayList<>(); result.addAll(Arrays.stream(BeanUtils.getPropertyDescriptors(type))// .filter(it -> !hasDefaultGetter(it))// .collect(Collectors.toList())); diff --git a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java index cd31e0622..f4c407769 100644 --- a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 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. @@ -39,6 +39,7 @@ import org.springframework.util.ClassUtils; * types. * * @author Oliver Gierke + * @author Christoph Strobl * @see SpelAwareProxyProjectionFactory * @since 1.10 */ @@ -55,7 +56,7 @@ class ProxyProjectionFactory implements ProjectionFactory, ResourceLoaderAware, */ protected ProxyProjectionFactory() { - this.factories = new ArrayList(); + this.factories = new ArrayList<>(); this.factories.add(MapAccessingMethodInterceptorFactory.INSTANCE); this.factories.add(PropertyAccessingMethodInvokerFactory.INSTANCE); } diff --git a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java index 7ad511b57..1af229b33 100644 --- a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java @@ -41,7 +41,7 @@ import org.springframework.util.ReflectionUtils; */ public class SpelAwareProxyProjectionFactory extends ProxyProjectionFactory implements BeanFactoryAware { - private final Map, Boolean> typeCache = new HashMap, Boolean>(); + private final Map, Boolean> typeCache = new HashMap<>(); private final SpelExpressionParser parser = new SpelExpressionParser(); private BeanFactory beanFactory; diff --git a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java b/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java index 74220c7f2..b4f8084e0 100644 --- a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java +++ b/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2015 the original author or authors. + * Copyright 2014-2017 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. @@ -41,6 +41,7 @@ import org.springframework.util.StringUtils; * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl * @see 1.10 */ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { @@ -98,7 +99,7 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { private static Map potentiallyCreateExpressionsForMethodsOnTargetInterface( SpelExpressionParser parser, Class targetInterface) { - Map expressions = new HashMap(); + Map expressions = new HashMap<>(); for (Method method : targetInterface.getMethods()) { diff --git a/src/main/java/org/springframework/data/querydsl/QSort.java b/src/main/java/org/springframework/data/querydsl/QSort.java index 85aa1b54f..de77516be 100644 --- a/src/main/java/org/springframework/data/querydsl/QSort.java +++ b/src/main/java/org/springframework/data/querydsl/QSort.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2017 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. @@ -131,7 +131,7 @@ public class QSort extends Sort implements Serializable { Assert.notEmpty(orderSpecifiers, "OrderSpecifiers must not be null or empty!"); - List> newOrderSpecifiers = new ArrayList>(this.orderSpecifiers); + List> newOrderSpecifiers = new ArrayList<>(this.orderSpecifiers); newOrderSpecifiers.addAll(orderSpecifiers); return new QSort(newOrderSpecifiers); diff --git a/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java b/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java index e6b56a865..43aa18849 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java +++ b/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -37,6 +37,7 @@ import com.querydsl.core.types.dsl.CollectionPathBase; * {@link PropertyPath} based implementation of {@link PathInformation}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 */ @ToString @@ -125,9 +126,9 @@ class PropertyPathInformation implements PathInformation { private static Path reifyPath(EntityPathResolver resolver, PropertyPath path, Optional> base) { Optional> map = base.filter(it -> it instanceof CollectionPathBase) - .map(it -> CollectionPathBase.class.cast(it))// + .map(CollectionPathBase.class::cast)// .map(CollectionPathBase::any)// - .map(it -> Path.class.cast(it))// + .map(Path.class::cast)// .map(it -> reifyPath(resolver, path, Optional.of(it))); return map.orElseGet(() -> { diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java index 77d17ca04..e7eaad8a4 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2017 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. @@ -79,8 +79,8 @@ public class QuerydslBindings { */ public QuerydslBindings() { - this.pathSpecs = new LinkedHashMap>(); - this.typeSpecs = new LinkedHashMap, PathAndBinding>(); + this.pathSpecs = new LinkedHashMap<>(); + this.typeSpecs = new LinkedHashMap<>(); this.whiteList = new HashSet<>(); this.blackList = new HashSet<>(); this.aliases = new HashSet<>(); @@ -94,7 +94,7 @@ public class QuerydslBindings { * @return */ public final , S> AliasingPathBinder bind(T path) { - return new AliasingPathBinder(path); + return new AliasingPathBinder<>(path); } /** @@ -105,7 +105,7 @@ public class QuerydslBindings { */ @SafeVarargs public final , S> PathBinder bind(T... paths) { - return new PathBinder(paths); + return new PathBinder<>(paths); } /** @@ -231,7 +231,7 @@ public class QuerydslBindings { Assert.notNull(path, "PropertyPath must not be null!"); - return Optional.ofNullable(pathSpecs.get(path.toDotPath())).flatMap(it -> it.getPath()); + return Optional.ofNullable(pathSpecs.get(path.toDotPath())).flatMap(PathAndBinding::getPath); } /** @@ -252,7 +252,7 @@ public class QuerydslBindings { if (pathSpecs.containsKey(path)) { return pathSpecs.get(path).getPath()// - .map(it -> QuerydslPathInformation.of(it))// + .map(QuerydslPathInformation::of)// .orElse(null); } @@ -427,7 +427,7 @@ public class QuerydslBindings { public AliasingPathBinder as(String alias) { Assert.hasText(alias, "Alias must not be null or empty!"); - return new AliasingPathBinder(alias, path); + return new AliasingPathBinder<>(alias, path); } /** @@ -472,25 +472,13 @@ public class QuerydslBindings { public

> void firstOptional(OptionalValueBinding binding) { Assert.notNull(binding, "Binding must not be null!"); - all(new MultiValueBinding() { - - @Override - public Optional bind(P path, Collection value) { - return binding.bind(path, Optionals.next(value.iterator())); - } - }); + all((MultiValueBinding) (path, value) -> binding.bind(path, Optionals.next(value.iterator()))); } public

> void first(SingleValueBinding binding) { Assert.notNull(binding, "Binding must not be null!"); - all(new MultiValueBinding() { - - @Override - public Optional bind(P path, Collection value) { - return Optionals.next(value.iterator()).flatMap(t -> binding.bind(path, t)); - } - }); + all((MultiValueBinding) (path, value) -> Optionals.next(value.iterator()).flatMap(t -> binding.bind(path, t))); } /** @@ -520,15 +508,15 @@ public class QuerydslBindings { @NonNull Optional> binding; public static > PathAndBinding withPath(P path) { - return new PathAndBinding(Optional.of(path), Optional.empty()); + return new PathAndBinding<>(Optional.of(path), Optional.empty()); } public static > PathAndBinding withoutPath() { - return new PathAndBinding(Optional.empty(), Optional.empty()); + return new PathAndBinding<>(Optional.empty(), Optional.empty()); } public PathAndBinding with(MultiValueBinding binding) { - return new PathAndBinding(path, Optional.of(binding)); + return new PathAndBinding<>(path, Optional.of(binding)); } } } diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java index 81a799ce2..f145a9349 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2017 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. @@ -36,6 +36,7 @@ import com.querydsl.core.types.EntityPath; * Factory to create {@link QuerydslBindings} using an {@link EntityPathResolver}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.11 */ public class QuerydslBindingsFactory implements ApplicationContextAware { @@ -58,7 +59,7 @@ public class QuerydslBindingsFactory implements ApplicationContextAware { Assert.notNull(entityPathResolver, "EntityPathResolver must not be null!"); this.entityPathResolver = entityPathResolver; - this.entityPaths = new ConcurrentReferenceHashMap, EntityPath>(); + this.entityPaths = new ConcurrentReferenceHashMap<>(); this.beanFactory = Optional.empty(); this.repositories = Optional.empty(); } @@ -140,12 +141,9 @@ public class QuerydslBindingsFactory implements ApplicationContextAware { return customizer// .filter(it -> !QuerydslBinderCustomizer.class.equals(it))// - .map(it -> createQuerydslBinderCustomizer(it)).orElseGet(() -> { - - return repositories.flatMap(it -> it.getRepositoryFor(domainType))// - .map(it -> it instanceof QuerydslBinderCustomizer ? (QuerydslBinderCustomizer>) it : null)// - .orElse(NoOpCustomizer.INSTANCE); - }); + .map(this::createQuerydslBinderCustomizer).orElseGet(() -> repositories.flatMap(it -> it.getRepositoryFor(domainType))// + .map(it -> it instanceof QuerydslBinderCustomizer ? (QuerydslBinderCustomizer>) it : null)// + .orElse(NoOpCustomizer.INSTANCE)); } /** diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java index 727fe3223..14f4718ef 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2017 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. @@ -113,7 +113,7 @@ public class QuerydslPredicateBuilder { Collection value = convertToPropertyPathSpecificType(entry.getValue(), propertyPath); Optional predicate = invokeBinding(propertyPath, bindings, value); - predicate.ifPresent(it -> builder.and(it)); + predicate.ifPresent(builder::and); } return builder.getValue(); diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java index 0c9c4d63d..df71b23cb 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java @@ -52,6 +52,7 @@ import org.springframework.util.StringUtils; * @author Oliver Gierke * @author Mark Paluch * @author Peter Rietzler + * @author Christoph Strobl */ public abstract class CdiRepositoryBean implements Bean, PassivationCapable { @@ -108,7 +109,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl * @param repositoryType must not be {@literal null}. * @return */ - private final String createPassivationId(Set qualifiers, Class repositoryType) { + private String createPassivationId(Set qualifiers, Class repositoryType) { List qualifierNames = new ArrayList<>(qualifiers.size()); @@ -117,11 +118,8 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl } Collections.sort(qualifierNames); + return StringUtils.collectionToDelimitedString(qualifierNames, ":") + ":" + repositoryType.getName(); - StringBuilder builder = new StringBuilder(StringUtils.collectionToDelimitedString(qualifierNames, ":")); - builder.append(":").append(repositoryType.getName()); - - return builder.toString(); } /* @@ -299,7 +297,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl public Set> getStereotypes() { return Arrays.stream(repositoryType.getAnnotations())// - .map(it -> it.annotationType())// + .map(Annotation::annotationType)// .filter(it -> it.isAnnotationPresent(Stereotype.class))// .collect(Collectors.toSet()); } @@ -359,7 +357,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl * @param repositoryType will never be {@literal null}. * @return */ - private final T create(CreationalContext creationalContext, Class repositoryType) { + private T create(CreationalContext creationalContext, Class repositoryType) { Optional> customImplementationBean = getCustomImplementationBean(repositoryType, beanManager, qualifiers); Optional customImplementation = customImplementationBean diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java index 063e386c6..376a500fd 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 the original author or authors. + * Copyright 2011-2017 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. @@ -53,13 +53,14 @@ import org.springframework.data.repository.config.CustomRepositoryImplementation * @author Dirk Mahler * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl */ public abstract class CdiRepositoryExtensionSupport implements Extension { private static final Logger LOGGER = LoggerFactory.getLogger(CdiRepositoryExtensionSupport.class); - private final Map, Set> repositoryTypes = new HashMap, Set>(); - private final Set> eagerRepositories = new HashSet>(); + private final Map, Set> repositoryTypes = new HashMap<>(); + private final Set> eagerRepositories = new HashSet<>(); private final CustomRepositoryImplementationDetector customImplementationDetector; protected CdiRepositoryExtensionSupport() { diff --git a/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java b/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java index 6741a8b47..4768d7b0a 100644 --- a/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java +++ b/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java @@ -40,6 +40,7 @@ import org.springframework.util.Assert; * * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl * @author Peter Rietzler */ @RequiredArgsConstructor @@ -111,7 +112,7 @@ public class CustomRepositoryImplementationDetector { throw new IllegalStateException( String.format("Ambiguous custom implementations detected! Found %s but expected a single implementation!", // definitions.stream()// - .map(it -> it.getBeanClassName())// + .map(BeanDefinition::getBeanClassName)// .collect(Collectors.joining(", ")))); } } diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java index cc2976bf3..d0b13845d 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java @@ -34,6 +34,7 @@ import org.springframework.util.Assert; * Builder to create {@link BeanDefinitionBuilder} instance to eventually create Spring Data repository instances. * * @author Oliver Gierke + * @author Christoph Strobl * @author Peter Rietzler */ class RepositoryBeanDefinitionBuilder { @@ -95,7 +96,7 @@ class RepositoryBeanDefinitionBuilder { NamedQueriesBeanDefinitionBuilder definitionBuilder = new NamedQueriesBeanDefinitionBuilder( extension.getDefaultNamedQueryLocation()); - configuration.getNamedQueriesLocation().ifPresent(it -> definitionBuilder.setLocations(it)); + configuration.getNamedQueriesLocation().ifPresent(definitionBuilder::setLocations); builder.addPropertyValue("namedQueries", definitionBuilder.build(configuration.getSource())); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java index 9d3173317..234dc5c7f 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 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. @@ -43,6 +43,7 @@ import org.springframework.util.StringUtils; * * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl */ public abstract class RepositoryConfigurationExtensionSupport implements RepositoryConfigurationExtension { @@ -79,7 +80,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit Assert.notNull(configSource, "ConfigSource must not be null!"); Assert.notNull(loader, "Loader must not be null!"); - Set> result = new HashSet>(); + Set> result = new HashSet<>(); for (BeanDefinition candidate : configSource.getCandidates(loader)) { diff --git a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java index 75f4a7f1c..e2bbe84dd 100644 --- a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java +++ b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -25,6 +25,7 @@ import org.springframework.core.type.filter.TypeFilter; import org.springframework.data.config.TypeFilterParser; import org.springframework.data.config.TypeFilterParser.Type; import org.springframework.data.repository.query.QueryLookupStrategy; +import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.util.ParsingUtils; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -35,6 +36,7 @@ import org.w3c.dom.Element; * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl * @author Peter Rietzler */ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSourceSupport { @@ -98,7 +100,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou * @see org.springframework.data.repository.config.RepositoryConfigurationSource#getQueryLookupStrategyKey() */ public Optional getQueryLookupStrategyKey() { - return getNullDefaultedAttribute(element, QUERY_LOOKUP_STRATEGY).map(it -> QueryLookupStrategy.Key.create(it)); + return getNullDefaultedAttribute(element, QUERY_LOOKUP_STRATEGY).map(Key::create); } /* @@ -173,7 +175,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou @Override public boolean shouldConsiderNestedRepositories() { - return getNullDefaultedAttribute(element, CONSIDER_NESTED_REPOSITORIES).map(it -> Boolean.parseBoolean(it)) + return getNullDefaultedAttribute(element, CONSIDER_NESTED_REPOSITORIES).map(Boolean::parseBoolean) .orElse(false); } diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java index 90061f827..3098f1b41 100644 --- a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java @@ -54,6 +54,7 @@ import org.springframework.util.ClassUtils; * @author Oliver Gierke * @author Thomas Darimont * @author Mark Paluch + * @author Christoph Strobl */ class DefaultRepositoryInformation implements RepositoryInformation { @@ -62,7 +63,7 @@ class DefaultRepositoryInformation implements RepositoryInformation { private static final String DOMAIN_TYPE_NAME = PARAMETERS[0].getName(); private static final String ID_TYPE_NAME = PARAMETERS[1].getName(); - private final Map methodCache = new ConcurrentHashMap(); + private final Map methodCache = new ConcurrentHashMap<>(); private final RepositoryMetadata metadata; private final Class repositoryBaseClass; diff --git a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java index 3311c9160..a74d50808 100644 --- a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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,6 +44,7 @@ import org.springframework.util.ReflectionUtils; * will be invoked after all events have been published. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 * @soundtrack Henrik Freischlader Trio - Master Plan (Openness) */ @@ -110,7 +111,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr @RequiredArgsConstructor static class EventPublishingMethod { - private static Map, EventPublishingMethod> CACHE = new ConcurrentReferenceHashMap, EventPublishingMethod>(); + private static Map, EventPublishingMethod> CACHE = new ConcurrentReferenceHashMap<>(); private static EventPublishingMethod NONE = new EventPublishingMethod(null, null); private final Method publishingMethod; @@ -133,14 +134,14 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return eventPublishingMethod.orNull(); } - AnnotationDetectionMethodCallback publishing = new AnnotationDetectionMethodCallback( + AnnotationDetectionMethodCallback publishing = new AnnotationDetectionMethodCallback<>( DomainEvents.class); ReflectionUtils.doWithMethods(type, publishing); // TODO: Lazify this as the inspection might not be needed if the publishing callback didn't find an annotation in // the first place - AnnotationDetectionMethodCallback clearing = new AnnotationDetectionMethodCallback( + AnnotationDetectionMethodCallback clearing = new AnnotationDetectionMethodCallback<>( AfterDomainEventPublication.class); ReflectionUtils.doWithMethods(type, clearing); @@ -240,7 +241,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return (Collection) source; } - return Arrays.asList(source); + return Collections.singletonList(source); } } } diff --git a/src/main/java/org/springframework/data/repository/core/support/ExampleMatcherAccessor.java b/src/main/java/org/springframework/data/repository/core/support/ExampleMatcherAccessor.java index 3a573c222..3cefbb6db 100644 --- a/src/main/java/org/springframework/data/repository/core/support/ExampleMatcherAccessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/ExampleMatcherAccessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -26,6 +26,7 @@ import org.springframework.util.Assert; * * @author Mark Paluch * @author Oliver Gierke + * @author Christoph Strobl * @since 1.12 */ public class ExampleMatcherAccessor { @@ -143,7 +144,7 @@ public class ExampleMatcherAccessor { } ExampleMatcher.PropertySpecifier specifier = getPropertySpecifier(path); - return specifier.getIgnoreCase() != null ? specifier.getIgnoreCase().booleanValue() : matcher.isIgnoreCaseEnabled(); + return specifier.getIgnoreCase() != null ? specifier.getIgnoreCase() : matcher.isIgnoreCaseEnabled(); } /** diff --git a/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java b/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java index 4f505ab5c..ad0d7dda0 100644 --- a/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/PersistentEntityInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014 the original author or authors. + * Copyright 2014-2017 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. @@ -19,6 +19,7 @@ import java.io.Serializable; import java.util.Optional; import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.repository.core.EntityInformation; /** @@ -26,6 +27,7 @@ import org.springframework.data.repository.core.EntityInformation; * a {@link org.springframework.data.mapping.IdentifierAccessor} to access the property value if requested. * * @author Oliver Gierke + * @author Christoph Strobl */ @SuppressWarnings("unchecked") public class PersistentEntityInformation extends AbstractEntityInformation { @@ -58,6 +60,6 @@ public class PersistentEntityInformation extends Abs */ @Override public Class getIdType() { - return (Class) persistentEntity.getIdProperty().map(it -> it.getType()).orElse(null); + return (Class) persistentEntity.getIdProperty().map(PersistentProperty::getType).orElse(null); } } diff --git a/src/main/java/org/springframework/data/repository/core/support/ReflectionEntityInformation.java b/src/main/java/org/springframework/data/repository/core/support/ReflectionEntityInformation.java index 9e074212d..2858f32a0 100644 --- a/src/main/java/org/springframework/data/repository/core/support/ReflectionEntityInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/ReflectionEntityInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2017 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. @@ -30,6 +30,7 @@ import org.springframework.util.ReflectionUtils; * retrieve the id. * * @author Oliver Gierke + * @author Christoph Strobl */ public class ReflectionEntityInformation extends AbstractEntityInformation { @@ -66,7 +67,7 @@ public class ReflectionEntityInformation extends Abs } }); - Assert.notNull(this.field, String.format("No field annotated with %s found!", annotation.toString())); + Assert.notNull(this.field, () -> String.format("No field annotated with %s found!", annotation.toString())); ReflectionUtils.makeAccessible(field); } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java index 622a6dc4c..10ec276b7 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2016 the original author or authors. + * Copyright 2008-2017 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. @@ -71,6 +71,7 @@ import org.springframework.util.Assert; * * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl */ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, BeanFactoryAware { @@ -363,12 +364,9 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, Class baseClass = information.getRepositoryBaseClass(); Optional> constructor = ReflectionUtils.findConstructor(baseClass, constructorArguments); - return constructor.map(it -> (R) BeanUtils.instantiateClass(it, constructorArguments)).orElseThrow(() -> { - - return new IllegalStateException(String.format( - "No suitable constructor found on %s to match the given arguments: %s. Make sure you implement a constructor taking these", - baseClass, Arrays.stream(constructorArguments).map(Object::getClass).collect(Collectors.toList()))); - }); + return constructor.map(it -> (R) BeanUtils.instantiateClass(it, constructorArguments)).orElseThrow(() -> new IllegalStateException(String.format( + "No suitable constructor found on %s to match the given arguments: %s. Make sure you implement a constructor taking these", + baseClass, Arrays.stream(constructorArguments).map(Object::getClass).collect(Collectors.toList())))); } /** diff --git a/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java b/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java index 081ed5600..756ca1ce7 100644 --- a/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java +++ b/src/main/java/org/springframework/data/repository/core/support/SurroundingTransactionDetectorMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -26,6 +26,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager * proxy. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 * @soundtrack Hendrik Freischlader Trio - Openness (Openness) */ @@ -33,7 +34,7 @@ public enum SurroundingTransactionDetectorMethodInterceptor implements MethodInt INSTANCE; - private final ThreadLocal SURROUNDING_TX_ACTIVE = new ThreadLocal(); + private final ThreadLocal SURROUNDING_TX_ACTIVE = new ThreadLocal<>(); /** * Returns whether a transaction was active before the method call entered the repository proxy. diff --git a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java index 376a87256..d0ce7d3bc 100644 --- a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryProxyPostProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2014 the original author or authors. + * Copyright 2008-2017 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. @@ -52,6 +52,7 @@ import org.springframework.util.ObjectUtils; * the proxy. * * @author Oliver Gierke + * @author Christoph Strobl */ class TransactionalRepositoryProxyPostProcessor implements RepositoryProxyPostProcessor { @@ -300,7 +301,7 @@ class TransactionalRepositoryProxyPostProcessor implements RepositoryProxyPostPr * As this base class is not marked Serializable, the cache will be recreated after serialization - provided that * the concrete subclass is Serializable. */ - final Map attributeCache = new ConcurrentHashMap(); + final Map attributeCache = new ConcurrentHashMap<>(); private RepositoryInformation repositoryInformation; private boolean enableDefaultTransactions = true; diff --git a/src/main/java/org/springframework/data/repository/query/EvaluationContextExtensionInformation.java b/src/main/java/org/springframework/data/repository/query/EvaluationContextExtensionInformation.java index 68b6ffe82..a84b97a66 100644 --- a/src/main/java/org/springframework/data/repository/query/EvaluationContextExtensionInformation.java +++ b/src/main/java/org/springframework/data/repository/query/EvaluationContextExtensionInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014 the original author or authors. + * Copyright 2014-2017 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. @@ -51,6 +51,7 @@ import org.springframework.util.ReflectionUtils.MethodFilter; * {@link org.springframework.expression.EvaluationContext}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.9 */ class EvaluationContextExtensionInformation { @@ -142,7 +143,7 @@ class EvaluationContextExtensionInformation { private static Map discoverDeclaredFunctions(Class type) { - Map map = new HashMap(); + Map map = new HashMap<>(); ReflectionUtils.doWithMethods(type, // method -> map.put(method.getName(), new Function(method, null)), // @@ -214,7 +215,7 @@ class EvaluationContextExtensionInformation { Assert.notNull(type, "Type must not be null!"); - this.accessors = new HashMap(); + this.accessors = new HashMap<>(); this.methods = new HashSet<>(); this.fields = new ArrayList<>(); @@ -234,7 +235,7 @@ class EvaluationContextExtensionInformation { }, PublicMethodAndFieldFilter.NON_STATIC); - ReflectionUtils.doWithFields(type, field -> RootObjectInformation.this.fields.add(field), + ReflectionUtils.doWithFields(type, RootObjectInformation.this.fields::add, PublicMethodAndFieldFilter.NON_STATIC); } @@ -250,7 +251,7 @@ class EvaluationContextExtensionInformation { .collect(Collectors.toMap(// Method::getName, // method -> new Function(method, it)))) - .orElseGet(() -> Collections.emptyMap()); + .orElseGet(Collections::emptyMap); } /** @@ -263,7 +264,7 @@ class EvaluationContextExtensionInformation { return target.map(it -> { - Map properties = new HashMap(); + Map properties = new HashMap<>(); accessors.entrySet().stream() .forEach(method -> properties.put(method.getKey(), new Function(method.getValue(), it))); @@ -271,13 +272,13 @@ class EvaluationContextExtensionInformation { return Collections.unmodifiableMap(properties); - }).orElseGet(() -> Collections.emptyMap()); + }).orElseGet(Collections::emptyMap); } } private static Map discoverDeclaredProperties(Class type) { - Map map = new HashMap(); + Map map = new HashMap<>(); ReflectionUtils.doWithFields(type, field -> map.put(field.getName(), field.get(null)), PublicMethodAndFieldFilter.STATIC); diff --git a/src/main/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProvider.java index e47b92b27..cb4fb1076 100644 --- a/src/main/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2014 the original author or authors. + * Copyright 2014-2017 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. @@ -64,7 +64,7 @@ import org.springframework.util.StringUtils; */ public class ExtensionAwareEvaluationContextProvider implements EvaluationContextProvider, ApplicationContextAware { - private final Map, EvaluationContextExtensionInformation> extensionInformationCache = new HashMap, EvaluationContextExtensionInformation>(); + private final Map, EvaluationContextExtensionInformation> extensionInformationCache = new HashMap<>(); private List extensions; private Optional beanFactory = Optional.empty(); @@ -131,7 +131,7 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex */ private > Map collectVariables(T parameters, Object[] arguments) { - Map variables = new HashMap(); + Map variables = new HashMap<>(); parameters.stream()// .filter(Parameter::isSpecialParameter)// @@ -162,10 +162,8 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex this.extensions = Collections.emptyList(); - beanFactory.ifPresent(it -> { - this.extensions = new ArrayList<>( - it.getBeansOfType(EvaluationContextExtension.class, true, false).values()); - }); + beanFactory.ifPresent(it -> this.extensions = new ArrayList<>( + it.getBeansOfType(EvaluationContextExtension.class, true, false).values())); return extensions; } @@ -220,7 +218,7 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex this.adapters = toAdapters(extensions); this.adapterMap = adapters.stream()// - .collect(Collectors.toMap(it -> it.getExtensionId(), it -> it)); + .collect(Collectors.toMap(EvaluationContextExtensionAdapter::getExtensionId, it -> it)); Collections.reverse(this.adapters); } @@ -410,12 +408,12 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex ExtensionTypeInformation extensionTypeInformation = information.getExtensionTypeInformation(); RootObjectInformation rootObjectInformation = information.getRootObjectInformation(target); - this.functions = new HashMap(); + this.functions = new HashMap<>(); this.functions.putAll(extensionTypeInformation.getFunctions()); this.functions.putAll(rootObjectInformation.getFunctions(target)); this.functions.putAll(extension.getFunctions()); - this.properties = new HashMap(); + this.properties = new HashMap<>(); this.properties.putAll(extensionTypeInformation.getProperties()); this.properties.putAll(rootObjectInformation.getProperties(target)); this.properties.putAll(extension.getProperties()); diff --git a/src/main/java/org/springframework/data/repository/query/Parameters.java b/src/main/java/org/springframework/data/repository/query/Parameters.java index 8c6a2eeef..565fcee8e 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameters.java +++ b/src/main/java/org/springframework/data/repository/query/Parameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2015 the original author or authors. + * Copyright 2008-2017 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. @@ -35,6 +35,7 @@ import org.springframework.util.Assert; * Abstracts method parameters that have to be bound to query parameters or applied to the query independently. * * @author Oliver Gierke + * @author Christoph Strobl */ public abstract class Parameters, T extends Parameter> implements Streamable { @@ -283,7 +284,7 @@ public abstract class Parameters, T extends Parameter * * @param method */ - private final void assertEitherAllParamAnnotatedOrNone() { + private void assertEitherAllParamAnnotatedOrNone() { boolean nameFound = false; int index = 0; diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethod.java b/src/main/java/org/springframework/data/repository/query/QueryMethod.java index 333591379..1d7d6c99e 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethod.java +++ b/src/main/java/org/springframework/data/repository/query/QueryMethod.java @@ -40,6 +40,7 @@ import org.springframework.util.Assert; * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl * @author Maciek Opała */ public class QueryMethod { @@ -90,7 +91,7 @@ public class QueryMethod { } } - Assert.notNull(this.parameters, + Assert.notNull(this.parameters, () -> String.format("Parameters extracted from method '%s' must not be null!", method.getName())); if (isPageQuery()) { @@ -265,7 +266,7 @@ public class QueryMethod { if (QueryExecutionConverters.supports(method.getReturnType())) { // unwrap only one level to handle cases like Future> correctly. - return ClassTypeInformation.fromReturnTypeOf(method).getComponentType().map(it -> it.getType()) + return ClassTypeInformation.fromReturnTypeOf(method).getComponentType().map(TypeInformation::getType) .orElseThrow(() -> new IllegalStateException( String.format("Couldn't find component type for return value of method %s!", method))); } diff --git a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java index 1b15c30f3..55b8ebad0 100644 --- a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java +++ b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2017 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. @@ -42,6 +42,7 @@ import org.springframework.util.Assert; * @author Oliver Gierke * @author John Blum * @author Mark Paluch + * @author Christoph Strobl * @since 1.12 */ public class ResultProcessor { @@ -88,7 +89,7 @@ public class ResultProcessor { */ public ResultProcessor withDynamicProjection(Optional accessor) { - return accessor.flatMap(it -> it.getDynamicProjection())// + return accessor.flatMap(ParameterAccessor::getDynamicProjection)// .map(it -> new ResultProcessor(method, factory, it))// .orElse(this); } @@ -267,7 +268,7 @@ public class ResultProcessor { private static Map toMap(Collection values, List names) { int i = 0; - Map result = new HashMap(values.size()); + Map result = new HashMap<>(values.size()); for (Object element : values) { result.put(names.get(i++), element); diff --git a/src/main/java/org/springframework/data/repository/query/ReturnedType.java b/src/main/java/org/springframework/data/repository/query/ReturnedType.java index 015976c89..430b877f3 100644 --- a/src/main/java/org/springframework/data/repository/query/ReturnedType.java +++ b/src/main/java/org/springframework/data/repository/query/ReturnedType.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2017 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. @@ -39,6 +39,7 @@ import org.springframework.util.ClassUtils; * A representation of the type returned by a {@link QueryMethod}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.12 */ @RequiredArgsConstructor(access = AccessLevel.PRIVATE) @@ -60,9 +61,9 @@ public abstract class ReturnedType { Assert.notNull(domainType, "Domain type must not be null!"); Assert.notNull(factory, "ProjectionFactory must not be null!"); - return (ReturnedType) (returnedType.isInterface() + return returnedType.isInterface() ? new ReturnedInterface(factory.getProjectionInformation(returnedType), domainType) - : new ReturnedClass(returnedType, domainType)); + : new ReturnedClass(returnedType, domainType); } /** @@ -209,7 +210,7 @@ public abstract class ReturnedType { */ private static final class ReturnedClass extends ReturnedType { - private static final Set> VOID_TYPES = new HashSet>(Arrays.asList(Void.class, void.class)); + private static final Set> VOID_TYPES = new HashSet<>(Arrays.asList(Void.class, void.class)); private final Class type; private final List inputProperties; @@ -285,13 +286,9 @@ public abstract class ReturnedType { PreferredConstructorDiscoverer discoverer = new PreferredConstructorDiscoverer(type); - return discoverer.getConstructor().map(it -> { - - return it.getParameters().stream()// - .flatMap(parameter -> Optionals.toStream(parameter.getName()))// - .collect(Collectors.toList()); - - }).orElseGet(() -> Collections.emptyList()); + return discoverer.getConstructor().map(it -> it.getParameters().stream()// + .flatMap(parameter -> Optionals.toStream(parameter.getName()))// + .collect(Collectors.toList())).orElseGet(Collections::emptyList); } private boolean isDto() { diff --git a/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java b/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java index 33f31478a..964fb7ae9 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java +++ b/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2015 the original author or authors. + * Copyright 2008-2017 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. @@ -36,6 +36,7 @@ import org.springframework.util.StringUtils; * method ends are valid: {@code LastnameUsernameDesc}, {@code LastnameAscUsernameDesc}. * * @author Oliver Gierke + * @author Christoph Strobl */ class OrderBySource { @@ -67,7 +68,7 @@ class OrderBySource { */ public OrderBySource(String clause, Optional> domainClass) { - this.orders = new ArrayList(); + this.orders = new ArrayList<>(); if (!StringUtils.hasText(clause)) { return; diff --git a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java index 7b99e807f..6ddf4f988 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java +++ b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java @@ -238,7 +238,7 @@ public class PartTree implements Streamable { String[] split = split(source, "And"); this.children = Arrays.stream(split)// - .filter(part -> StringUtils.hasText(part))// + .filter(StringUtils::hasText)// .map(part -> new Part(part, domainClass, alwaysIgnoreCase))// .collect(Collectors.toList()); } @@ -339,7 +339,7 @@ public class PartTree implements Streamable { return maxResults; } - private final boolean matches(Optional subject, Pattern pattern) { + private boolean matches(Optional subject, Pattern pattern) { return subject.map(it -> pattern.matcher(it).find()).orElse(false); } } diff --git a/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java b/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java index 30e10a4e2..6f62fadba 100644 --- a/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java +++ b/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2017 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. @@ -30,6 +30,7 @@ import org.springframework.util.Assert; * Simply helper to reference a dedicated attribute of an {@link Annotation}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.10 */ @RequiredArgsConstructor @@ -67,7 +68,7 @@ class AnnotationAttribute { Assert.notNull(parameter, "MethodParameter must not be null!"); Annotation annotation = parameter.getParameterAnnotation(annotationType); - return Optional.ofNullable(annotation).map(it -> getValueFrom(it)); + return Optional.ofNullable(annotation).map(this::getValueFrom); } /** @@ -93,7 +94,7 @@ class AnnotationAttribute { public Object getValueFrom(Annotation annotation) { Assert.notNull(annotation, "Annotation must not be null!"); - return (String) attributeName.map(it -> AnnotationUtils.getValue(annotation, it)) + return attributeName.map(it -> AnnotationUtils.getValue(annotation, it)) .orElseGet(() -> AnnotationUtils.getValue(annotation)); } } diff --git a/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java b/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java index bd1173d11..3aec49509 100644 --- a/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java +++ b/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 the original author or authors. + * Copyright 2013-2017 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,6 +31,7 @@ import org.springframework.data.repository.core.RepositoryMetadata; * to avoid reflection overhead introduced by the base class if we know we work with a {@link CrudRepository}. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.10 */ class CrudRepositoryInvoker extends ReflectionRepositoryInvoker { @@ -89,7 +90,7 @@ class CrudRepositoryInvoker extends ReflectionRepositoryInvoker { @Override @SuppressWarnings("unchecked") public T invokeFindOne(Serializable id) { - return customFindOneMethod ? super.invokeFindOne(id) : (T) repository.findOne(convertId(id)); + return customFindOneMethod ? super.invokeFindOne(id) : (T) repository.findOne(convertId(id)); } /* diff --git a/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java b/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java index 6a9f2282c..f4a892ad2 100644 --- a/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java +++ b/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 the original author or authors. + * Copyright 2013-2017 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. @@ -36,6 +36,7 @@ import org.springframework.util.Assert; * invocations over reflection ones. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.10 */ public class DefaultRepositoryInvokerFactory implements RepositoryInvokerFactory { @@ -67,7 +68,7 @@ public class DefaultRepositoryInvokerFactory implements RepositoryInvokerFactory this.repositories = repositories; this.conversionService = conversionService; - this.invokers = new HashMap, RepositoryInvoker>(); + this.invokers = new HashMap<>(); } /* @@ -76,7 +77,7 @@ public class DefaultRepositoryInvokerFactory implements RepositoryInvokerFactory */ @Override public RepositoryInvoker getInvokerFor(Class domainType) { - return invokers.computeIfAbsent(domainType, type -> prepareInvokers(type)); + return invokers.computeIfAbsent(domainType, this::prepareInvokers); } /** @@ -90,7 +91,7 @@ public class DefaultRepositoryInvokerFactory implements RepositoryInvokerFactory Optional information = repositories.getRepositoryInformationFor(domainType); Optional repository = repositories.getRepositoryFor(domainType); - return mapIfAllPresent(information, repository, (left, right) -> createInvoker(left, right))// + return mapIfAllPresent(information, repository, this::createInvoker)// .orElseThrow( () -> new IllegalArgumentException(String.format("No repository found for domain type: %s", domainType))); } diff --git a/src/main/java/org/springframework/data/repository/support/MethodParameters.java b/src/main/java/org/springframework/data/repository/support/MethodParameters.java index 25540b745..3f539abe8 100644 --- a/src/main/java/org/springframework/data/repository/support/MethodParameters.java +++ b/src/main/java/org/springframework/data/repository/support/MethodParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -32,6 +32,7 @@ import org.springframework.util.Assert; * Value object to represent {@link MethodParameters} to allow to easily find the ones with a given annotation. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.10 */ class MethodParameters { @@ -146,12 +147,9 @@ class MethodParameters { super(method, parameterIndex); this.attribute = attribute; - this.name = Lazy.of(() -> { - - return this.attribute.// - flatMap(it -> it.getValueFrom(this).map(Object::toString)).// - orElseGet(() -> super.getParameterName()); - }); + this.name = Lazy.of(() -> this.attribute.// + flatMap(it -> it.getValueFrom(this).map(Object::toString)).// + orElseGet(super::getParameterName)); } /* diff --git a/src/main/java/org/springframework/data/repository/support/PageableExecutionUtils.java b/src/main/java/org/springframework/data/repository/support/PageableExecutionUtils.java index b9d0a3659..2b05d6080 100644 --- a/src/main/java/org/springframework/data/repository/support/PageableExecutionUtils.java +++ b/src/main/java/org/springframework/data/repository/support/PageableExecutionUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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,6 +31,7 @@ import org.springframework.util.Assert; * * @author Mark Paluch * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 */ @UtilityClass @@ -55,16 +56,16 @@ public class PageableExecutionUtils { if (pageable == Pageable.NONE || pageable.getOffset() == 0) { if (pageable == Pageable.NONE || pageable.getPageSize() > content.size()) { - return new PageImpl(content, pageable, content.size()); + return new PageImpl<>(content, pageable, content.size()); } - return new PageImpl(content, pageable, totalSupplier.getAsLong()); + return new PageImpl<>(content, pageable, totalSupplier.getAsLong()); } if (content.size() != 0 && pageable.getPageSize() > content.size()) { - return new PageImpl(content, pageable, pageable.getOffset() + content.size()); + return new PageImpl<>(content, pageable, pageable.getOffset() + content.size()); } - return new PageImpl(content, pageable, totalSupplier.getAsLong()); + return new PageImpl<>(content, pageable, totalSupplier.getAsLong()); } } diff --git a/src/main/java/org/springframework/data/repository/support/Repositories.java b/src/main/java/org/springframework/data/repository/support/Repositories.java index 4e5887638..73dd36f6b 100644 --- a/src/main/java/org/springframework/data/repository/support/Repositories.java +++ b/src/main/java/org/springframework/data/repository/support/Repositories.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -43,6 +43,7 @@ import org.springframework.util.ClassUtils; * @author Oliver Gierke * @author Thomas Darimont * @author Thomas Eizinger + * @author Christoph Strobl */ public class Repositories implements Iterable> { @@ -76,8 +77,8 @@ public class Repositories implements Iterable> { Assert.notNull(factory, "Factory must not be null!"); this.beanFactory = Optional.of(factory); - this.repositoryFactoryInfos = new HashMap, RepositoryFactoryInformation>(); - this.repositoryBeanNames = new HashMap, String>(); + this.repositoryFactoryInfos = new HashMap<>(); + this.repositoryBeanNames = new HashMap<>(); populateRepositoryFactoryInformation(factory); } @@ -102,7 +103,7 @@ public class Repositories implements Iterable> { Set> alternativeDomainTypes = information.getAlternativeDomainTypes(); String beanName = BeanFactoryUtils.transformedBeanName(name); - Set> typesToRegister = new HashSet>(alternativeDomainTypes.size() + 1); + Set> typesToRegister = new HashSet<>(alternativeDomainTypes.size() + 1); typesToRegister.add(domainType); typesToRegister.addAll(alternativeDomainTypes); @@ -136,7 +137,7 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass, DOMAIN_TYPE_MUST_NOT_BE_NULL); Optional repositoryBeanName = Optional.ofNullable(repositoryBeanNames.get(domainClass)); - return beanFactory.flatMap(it -> repositoryBeanName.map(name -> it.getBean(name))); + return beanFactory.flatMap(it -> repositoryBeanName.map(it::getBean)); } /** @@ -271,7 +272,7 @@ public class Repositories implements Iterable> { @Override public List getQueryMethods() { - return Collections.emptyList(); + return Collections.emptyList(); } } } diff --git a/src/main/java/org/springframework/data/repository/util/JavaslangCollections.java b/src/main/java/org/springframework/data/repository/util/JavaslangCollections.java index 60c247488..85631d63d 100644 --- a/src/main/java/org/springframework/data/repository/util/JavaslangCollections.java +++ b/src/main/java/org/springframework/data/repository/util/JavaslangCollections.java @@ -35,6 +35,7 @@ import org.springframework.data.repository.util.QueryExecutionConverters.Wrapper * Converter implementations to map from and to Javaslang collections. * * @author Oliver Gierke + * @author Christoph Strobl * @since 1.13 */ class JavaslangCollections { @@ -131,7 +132,7 @@ class JavaslangCollections { static { - Set pairs = new HashSet(); + Set pairs = new HashSet<>(); pairs.add(new ConvertiblePair(Collection.class, javaslang.collection.Traversable.class)); pairs.add(new ConvertiblePair(Map.class, javaslang.collection.Traversable.class)); diff --git a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java index e6c7c5a86..cea162305 100644 --- a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java +++ b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java @@ -66,6 +66,7 @@ import com.google.common.base.Optional; * * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl * @author Maciek Opała * @since 1.8 * @see ReactiveWrappers diff --git a/src/main/java/org/springframework/data/support/CachingIsNewStrategyFactory.java b/src/main/java/org/springframework/data/support/CachingIsNewStrategyFactory.java index 273c764b8..bc57a5327 100644 --- a/src/main/java/org/springframework/data/support/CachingIsNewStrategyFactory.java +++ b/src/main/java/org/springframework/data/support/CachingIsNewStrategyFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2017 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. @@ -26,18 +26,19 @@ import java.util.concurrent.ConcurrentHashMap; * on each and every request. * * @author Oliver Gierke + * @author Christoph Strobl */ @RequiredArgsConstructor public class CachingIsNewStrategyFactory implements IsNewStrategyFactory { private final @NonNull IsNewStrategyFactory delegate; - private final Map, IsNewStrategy> cache = new ConcurrentHashMap, IsNewStrategy>(); + private final Map, IsNewStrategy> cache = new ConcurrentHashMap<>(); /* * (non-Javadoc) * @see org.springframework.data.mapping.model.IsNewStrategyFactory#getIsNewStrategy(java.lang.Class) */ public IsNewStrategy getIsNewStrategy(Class type) { - return cache.computeIfAbsent(type, it -> delegate.getIsNewStrategy(it)); + return cache.computeIfAbsent(type, delegate::getIsNewStrategy); } } diff --git a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java index 3cb603ce0..416d086b3 100644 --- a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java +++ b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 the original author or authors. + * Copyright 2011-2017 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,6 +31,7 @@ import org.springframework.util.Assert; * * @author Michael Hunger * @author Oliver Gierke + * @author Christoph Strobl * @since 1.6 */ class MultiTransactionStatus implements TransactionStatus { @@ -175,7 +176,7 @@ class MultiTransactionStatus implements TransactionStatus { private static class SavePoints { - private final Map savepoints = new HashMap(); + private final Map savepoints = new HashMap<>(); private void addSavePoint(TransactionStatus status, Object savepoint) { diff --git a/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java b/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java index 8e34d9a8c..08fc25861 100644 --- a/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java +++ b/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2015 the original author or authors. + * Copyright 2014-2017 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. @@ -34,6 +34,7 @@ import org.springframework.util.ClassUtils; * Scanner to find types with annotations on the classpath. * * @author Oliver Gierke + * @author Christoph Strobl */ public class AnnotatedTypeScanner implements ResourceLoaderAware, EnvironmentAware { @@ -104,7 +105,7 @@ public class AnnotatedTypeScanner implements ResourceLoaderAware, EnvironmentAwa provider.addIncludeFilter(new AnnotationTypeFilter(annotationType, true, considerInterfaces)); } - Set> types = new HashSet>(); + Set> types = new HashSet<>(); for (String basePackage : basePackages) { diff --git a/src/main/java/org/springframework/data/util/ClassTypeInformation.java b/src/main/java/org/springframework/data/util/ClassTypeInformation.java index 013ccb948..c26b07d6b 100644 --- a/src/main/java/org/springframework/data/util/ClassTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ClassTypeInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 the original author or authors. + * Copyright 2011-2017 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. @@ -39,6 +39,7 @@ import org.springframework.util.ClassUtils; * {@link TypeInformation} for a plain {@link Class}. * * @author Oliver Gierke + * @author Christoph Strobl */ @SuppressWarnings({ "unchecked", "rawtypes" }) public class ClassTypeInformation extends TypeDiscoverer { @@ -54,7 +55,7 @@ public class ClassTypeInformation extends TypeDiscoverer { static { for (ClassTypeInformation info : Arrays.asList(COLLECTION, LIST, SET, MAP, OBJECT)) { - CACHE.put(info.getType(), new WeakReference>(info)); + CACHE.put(info.getType(), new WeakReference<>(info)); } } @@ -79,7 +80,7 @@ public class ClassTypeInformation extends TypeDiscoverer { } ClassTypeInformation result = new ClassTypeInformation<>(type); - CACHE.put(type, new WeakReference>(result)); + CACHE.put(type, new WeakReference<>(result)); return result; } @@ -126,7 +127,7 @@ public class ClassTypeInformation extends TypeDiscoverer { } Map source = GenericTypeResolver.getTypeVariableMap(type); - Map, Type> map = new HashMap, Type>(source.size()); + Map, Type> map = new HashMap<>(source.size()); for (Entry entry : source.entrySet()) { diff --git a/src/main/java/org/springframework/data/util/Optionals.java b/src/main/java/org/springframework/data/util/Optionals.java index d40a51d33..1921881a6 100644 --- a/src/main/java/org/springframework/data/util/Optionals.java +++ b/src/main/java/org/springframework/data/util/Optionals.java @@ -32,6 +32,7 @@ import org.springframework.util.Assert; * Utility methods to work with {@link Optional}s. * * @author Oliver Gierke + * @author Christoph Strobl */ @UtilityClass public class Optionals { @@ -62,7 +63,7 @@ public class Optionals { Assert.notNull(optionals, "Optional must not be null!"); - return Arrays.asList(optionals).stream().flatMap(it -> it.map(Stream::of).orElseGet(() -> Stream.empty())); + return Arrays.asList(optionals).stream().flatMap(it -> it.map(Stream::of).orElseGet(Stream::empty)); } /** @@ -78,9 +79,9 @@ public class Optionals { Assert.notNull(function, "Function must not be null!"); return Streamable.of(source).stream()// - .map(it -> function.apply(it))// - .filter(it -> it.isPresent())// - .findFirst().orElseGet(() -> Optional.empty()); + .map(function::apply)// + .filter(Optional::isPresent)// + .findFirst().orElseGet(Optional::empty); } /** @@ -96,7 +97,7 @@ public class Optionals { Assert.notNull(function, "Function must not be null!"); return Streamable.of(source).stream()// - .map(it -> function.apply(it))// + .map(function::apply)// .filter(it -> !it.equals(defaultValue))// .findFirst().orElse(defaultValue); } @@ -126,8 +127,8 @@ public class Optionals { Assert.notNull(suppliers, "Suppliers must not be null!"); return Streamable.of(suppliers).stream()// - .map(it -> it.get())// - .filter(it -> it.isPresent())// + .map(Supplier::get)// + .filter(Optional::isPresent)// .findFirst().orElse(Optional.empty()); } diff --git a/src/main/java/org/springframework/data/util/Pair.java b/src/main/java/org/springframework/data/util/Pair.java index 93e7a4f52..602b43d29 100644 --- a/src/main/java/org/springframework/data/util/Pair.java +++ b/src/main/java/org/springframework/data/util/Pair.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2017 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. @@ -30,6 +30,7 @@ import java.util.stream.Collectors; * * @author Tobias Trelle * @author Oliver Gierke + * @author Christoph Strobl * @param Type of the first thing. * @param Type of the second thing. * @since 1.12 @@ -50,7 +51,7 @@ public final class Pair { * @return */ public static Pair of(S first, T second) { - return new Pair(first, second); + return new Pair<>(first, second); } /** diff --git a/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java b/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java index 86c536a2f..63949f369 100644 --- a/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2017 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. @@ -34,6 +34,7 @@ import org.springframework.util.StringUtils; * * @author Oliver Gierke * @author Mark Paluch + * @author Christoph Strobl */ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation { @@ -72,7 +73,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation Class rawType = getType(); Set supertypes = new HashSet<>(); - Optional.ofNullable(rawType.getGenericSuperclass()).ifPresent(it -> supertypes.add(it)); + Optional.ofNullable(rawType.getGenericSuperclass()).ifPresent(supertypes::add); supertypes.addAll(Arrays.asList(rawType.getGenericInterfaces())); Optional> result = supertypes.stream()// @@ -95,7 +96,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation @Override public List> getTypeArguments() { - List> result = new ArrayList>(); + List> result = new ArrayList<>(); for (Type argument : type.getActualTypeArguments()) { result.add(createInfo(argument)); diff --git a/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java b/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java index 9072fe30a..8f24c3819 100644 --- a/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java @@ -52,7 +52,7 @@ public abstract class ParentTypeAwareTypeInformation extends TypeDiscoverer, Type> mergeMaps(TypeDiscoverer parent, Map, Type> map) { - Map, Type> typeVariableMap = new HashMap, Type>(); + Map, Type> typeVariableMap = new HashMap<>(); typeVariableMap.putAll(map); typeVariableMap.putAll(parent.getTypeVariableMap()); diff --git a/src/main/java/org/springframework/data/util/ReflectionUtils.java b/src/main/java/org/springframework/data/util/ReflectionUtils.java index 365943d01..437d982a7 100644 --- a/src/main/java/org/springframework/data/util/ReflectionUtils.java +++ b/src/main/java/org/springframework/data/util/ReflectionUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -42,6 +42,7 @@ import org.springframework.util.ReflectionUtils.FieldFilter; * * @author Oliver Gierke * @author Thomas Darimont + * @author Christoph Strobl * @since 1.5 */ public abstract class ReflectionUtils { @@ -277,7 +278,7 @@ public abstract class ReflectionUtils { public static Optional getMethod(Class type, String name, ResolvableType... parameterTypes) { - List> collect = Arrays.stream(parameterTypes).map(it -> it.getRawClass()).collect(Collectors.toList()); + List> collect = Arrays.stream(parameterTypes).map(ResolvableType::getRawClass).collect(Collectors.toList()); Optional method = Optional.ofNullable( org.springframework.util.ReflectionUtils.findMethod(type, name, collect.toArray(new Class[collect.size()]))); @@ -286,7 +287,7 @@ public abstract class ReflectionUtils { .allMatch(index -> ResolvableType.forMethodParameter(it, index).equals(parameterTypes[index]))); } - private static final boolean argumentsMatch(Class[] parameterTypes, Object[] arguments) { + private static boolean argumentsMatch(Class[] parameterTypes, Object[] arguments) { if (parameterTypes.length != arguments.length) { return false; diff --git a/src/main/java/org/springframework/data/util/Streamable.java b/src/main/java/org/springframework/data/util/Streamable.java index bfc381152..1ea612231 100644 --- a/src/main/java/org/springframework/data/util/Streamable.java +++ b/src/main/java/org/springframework/data/util/Streamable.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2017 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. @@ -26,6 +26,7 @@ import org.springframework.util.Assert; * Simple interface to ease streamability of {@link Iterable}s. * * @author Oliver Gierke + * @author Christoph Strobl */ public interface Streamable extends Iterable { @@ -43,8 +44,8 @@ public interface Streamable extends Iterable { * * @return will never be {@literal null}. */ - public static Streamable empty() { - return () -> Collections.emptyIterator(); + static Streamable empty() { + return Collections::emptyIterator; } /** @@ -54,7 +55,7 @@ public interface Streamable extends Iterable { * @return */ @SafeVarargs - public static Streamable of(T... t) { + static Streamable of(T... t) { return () -> Arrays.asList(t).iterator(); } @@ -64,10 +65,10 @@ public interface Streamable extends Iterable { * @param iterable must not be {@literal null}. * @return */ - public static Streamable of(Iterable iterable) { + static Streamable of(Iterable iterable) { Assert.notNull(iterable, "Iterable must not be null!"); - return () -> iterable.iterator(); + return iterable::iterator; } } diff --git a/src/main/java/org/springframework/data/util/TypeDiscoverer.java b/src/main/java/org/springframework/data/util/TypeDiscoverer.java index 47443322f..55a062610 100644 --- a/src/main/java/org/springframework/data/util/TypeDiscoverer.java +++ b/src/main/java/org/springframework/data/util/TypeDiscoverer.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2015 the original author or authors. + * Copyright 2011-2017 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. @@ -51,6 +51,7 @@ import org.springframework.util.ReflectionUtils; * Basic {@link TypeDiscoverer} that contains basic functionality to discover property types. * * @author Oliver Gierke + * @author Christoph Strobl */ class TypeDiscoverer implements TypeInformation { @@ -60,7 +61,7 @@ class TypeDiscoverer implements TypeInformation { ClassLoader classLoader = TypeDiscoverer.class.getClassLoader(); - Set> mapTypes = new HashSet>(); + Set> mapTypes = new HashSet<>(); mapTypes.add(Map.class); try { @@ -92,8 +93,8 @@ class TypeDiscoverer implements TypeInformation { this.type = type; this.resolvedType = Lazy.of(() -> resolveType(type)); - this.componentType = Lazy.of(() -> doGetComponentType()); - this.valueType = Lazy.of(() -> doGetMapValueType()); + this.componentType = Lazy.of(this::doGetComponentType); + this.valueType = Lazy.of(this::doGetMapValueType); this.typeVariableMap = typeVariableMap; this.hashCode = 17 + (31 * type.hashCode()) + (31 * typeVariableMap.hashCode()); } @@ -108,7 +109,7 @@ class TypeDiscoverer implements TypeInformation { } private TypeInformation createInfo(Optional fieldType) { - return fieldType.map(it -> createInfo(it)).orElseThrow(() -> new IllegalArgumentException()); + return fieldType.map(this::createInfo).orElseThrow(IllegalArgumentException::new); } /** @@ -129,7 +130,7 @@ class TypeDiscoverer implements TypeInformation { } Class resolveType = resolveType(fieldType); - Map variableMap = new HashMap(); + Map variableMap = new HashMap<>(); variableMap.putAll(GenericTypeResolver.getTypeVariableMap(resolveType)); if (fieldType instanceof ParameterizedType) { @@ -183,7 +184,7 @@ class TypeDiscoverer implements TypeInformation { @SuppressWarnings({ "unchecked", "rawtypes", "deprecation" }) protected Class resolveType(Type type) { - Map map = new HashMap(); + Map map = new HashMap<>(); map.putAll(getTypeVariableMap()); return (Class) GenericTypeResolver.resolveType(type, map); @@ -198,7 +199,7 @@ class TypeDiscoverer implements TypeInformation { Assert.notNull(constructor, "Constructor must not be null!"); Type[] types = constructor.getGenericParameterTypes(); - List> result = new ArrayList>(types.length); + List> result = new ArrayList<>(types.length); for (Type parameterType : types) { result.add(createInfo(parameterType)); @@ -216,13 +217,13 @@ class TypeDiscoverer implements TypeInformation { int separatorIndex = fieldname.indexOf('.'); if (separatorIndex == -1) { - return fieldTypes.computeIfAbsent(fieldname, it -> getPropertyInformation(it)); + return fieldTypes.computeIfAbsent(fieldname, this::getPropertyInformation); } String head = fieldname.substring(0, separatorIndex); Optional> info = getProperty(head); - return info.map(it -> it.getProperty(fieldname.substring(separatorIndex + 1))).orElseGet(() -> Optional.empty()); + return info.map(it -> it.getProperty(fieldname.substring(separatorIndex + 1))).orElseGet(Optional::empty); } /** @@ -261,7 +262,7 @@ class TypeDiscoverer implements TypeInformation { return Optional.of(descriptor); } - List> superTypes = new ArrayList>(); + List> superTypes = new ArrayList<>(); superTypes.addAll(Arrays.asList(type.getInterfaces())); superTypes.add(type.getSuperclass()); @@ -415,7 +416,7 @@ class TypeDiscoverer implements TypeInformation { Assert.notNull(method, "Method most not be null!"); return Streamable.of(method.getGenericParameterTypes()).stream()// - .map(it -> createInfo(it))// + .map(this::createInfo)// .collect(Collectors.toList()); } diff --git a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java index fb1fd6f22..c66c336f4 100644 --- a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2016 the original author or authors. + * Copyright 2013-2017 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. @@ -40,6 +40,7 @@ import org.springframework.web.method.support.ModelAndViewContainer; * @author Oliver Gierke * @author Nick Williams * @author Mark Paluch + * @author Christoph Strobl */ public class PageableHandlerMethodArgumentResolver implements PageableArgumentResolver { @@ -252,19 +253,19 @@ public class PageableHandlerMethodArgumentResolver implements PageableArgumentRe } int p = page.orElseGet( - () -> defaultOrFallback.map(it -> it.getPageNumber()).orElseThrow(() -> new IllegalStateException())); + () -> defaultOrFallback.map(Pageable::getPageNumber).orElseThrow(IllegalStateException::new)); int ps = pageSize - .orElseGet(() -> defaultOrFallback.map(it -> it.getPageSize()).orElseThrow(() -> new IllegalStateException())); + .orElseGet(() -> defaultOrFallback.map(Pageable::getPageSize).orElseThrow(IllegalStateException::new)); // Limit lower bound - ps = ps < 1 ? defaultOrFallback.map(it -> it.getPageSize()).orElseThrow(() -> new IllegalStateException()) : ps; + ps = ps < 1 ? defaultOrFallback.map(Pageable::getPageSize).orElseThrow(IllegalStateException::new) : ps; // Limit upper bound ps = ps > maxPageSize ? maxPageSize : ps; Sort sort = sortResolver.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory); return PageRequest.of(p, ps, - sort.isSorted() ? sort : defaultOrFallback.map(it -> it.getSort()).orElseGet(() -> Sort.unsorted())); + sort.isSorted() ? sort : defaultOrFallback.map(Pageable::getSort).orElseGet(Sort::unsorted)); } /** diff --git a/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java b/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java index d5b0be120..c75aabda7 100644 --- a/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 the original author or authors. + * Copyright 2013-2017 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. @@ -40,6 +40,7 @@ import org.springframework.web.util.UriComponentsBuilder; * @since 1.6 * @author Oliver Gierke * @author Nick Williams + * @author Christoph Strobl */ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArgumentResolver { @@ -115,7 +116,7 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg * @param parameter must not be {@literal null}. * @return */ - private static final MethodParameter findMatchingPageableParameter(MethodParameter parameter) { + private static MethodParameter findMatchingPageableParameter(MethodParameter parameter) { MethodParameters parameters = new MethodParameters(parameter.getMethod()); List pageableParameters = parameters.getParametersOfType(Pageable.class); diff --git a/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java b/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java index 4363c188f..3b86849df 100644 --- a/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java +++ b/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java @@ -42,6 +42,7 @@ import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; * {@link ProjectedPayload}. * * @author Oliver Gierke + * @author Christoph Strobl * @soundtrack Richard Spaven - Ice Is Nice (Spaven's 5ive) * @since 1.13 */ @@ -49,7 +50,7 @@ public class ProjectingJackson2HttpMessageConverter extends MappingJackson2HttpM implements BeanClassLoaderAware, BeanFactoryAware { private final SpelAwareProxyProjectionFactory projectionFactory; - private final Map, Boolean> supportedTypesCache = new ConcurrentReferenceHashMap, Boolean>(); + private final Map, Boolean> supportedTypesCache = new ConcurrentReferenceHashMap<>(); /** * Creates a new {@link ProjectingJackson2HttpMessageConverter} using a default {@link ObjectMapper}. diff --git a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java index 21edda6ad..7c3eb10a1 100644 --- a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2017 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. @@ -42,6 +42,7 @@ import org.springframework.web.method.support.ModelAndViewContainer; * @author Thomas Darimont * @author Nick Williams * @author Mark Paluch + * @author Christoph Strobl */ public class SortHandlerMethodArgumentResolver implements SortArgumentResolver { @@ -208,7 +209,7 @@ public class SortHandlerMethodArgumentResolver implements SortArgumentResolver { */ Sort parseParameterIntoSort(String[] source, String delimiter) { - List allOrders = new ArrayList(); + List allOrders = new ArrayList<>(); for (String part : source) { @@ -224,7 +225,7 @@ public class SortHandlerMethodArgumentResolver implements SortArgumentResolver { int lastIndex = direction.map(it -> elements.length - 1).orElseGet(() -> elements.length); for (int i = 0; i < lastIndex; i++) { - toOrder(elements[i], direction).ifPresent(it -> allOrders.add(it)); + toOrder(elements[i], direction).ifPresent(allOrders::add); } } @@ -266,7 +267,7 @@ public class SortHandlerMethodArgumentResolver implements SortArgumentResolver { builder.add(order.getProperty()); } - return builder == null ? Collections.emptyList() : builder.dumpExpressionIfPresentInto(expressions); + return builder == null ? Collections.emptyList() : builder.dumpExpressionIfPresentInto(expressions); } /** @@ -296,7 +297,7 @@ public class SortHandlerMethodArgumentResolver implements SortArgumentResolver { builder.add(order.getProperty()); } - return builder == null ? Collections.emptyList() : builder.dumpExpressionIfPresentInto(expressions); + return builder == null ? Collections.emptyList() : builder.dumpExpressionIfPresentInto(expressions); } /** diff --git a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java index f258e8ee4..6009ceaef 100644 --- a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java +++ b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java @@ -35,13 +35,14 @@ import org.xmlbeam.XBProjector; * A read-only {@link HttpMessageConverter} to create XMLBeam-based projection instances for interfaces. * * @author Oliver Gierke + * @author Christoph Strobl * @see http://www.xmlbeam.org * @soundtrack Dr. Kobayashi Maru & The Mothership Connection - Anthem (EPisode One) */ public class XmlBeamHttpMessageConverter extends AbstractHttpMessageConverter { private final ProjectionFactory projectionFactory; - private final Map, Boolean> supportedTypesCache = new ConcurrentReferenceHashMap, Boolean>(); + private final Map, Boolean> supportedTypesCache = new ConcurrentReferenceHashMap<>(); /** * Creates a new {@link XmlBeamHttpMessageConverter}. diff --git a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java index f9a7dc87e..eaca513fb 100644 --- a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2017 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. @@ -93,7 +93,7 @@ public class QuerydslPredicateArgumentResolver implements HandlerMethodArgumentR public Predicate resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { - MultiValueMap parameters = new LinkedMultiValueMap(); + MultiValueMap parameters = new LinkedMultiValueMap<>(); for (Entry entry : webRequest.getParameterMap().entrySet()) { parameters.put(entry.getKey(), Arrays.asList(entry.getValue())); @@ -104,7 +104,7 @@ public class QuerydslPredicateArgumentResolver implements HandlerMethodArgumentR TypeInformation domainType = extractTypeInfo(parameter).getActualType(); Optional> map = annotation - .>map(it -> it.bindings()); + .>map(QuerydslPredicate::bindings); QuerydslBindings bindings = bindingsFactory.createBindingsFor(domainType, (Optional>>) map); diff --git a/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java b/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java index 62f20fbf2..557c7d94b 100755 --- a/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java @@ -44,17 +44,13 @@ public class DefaultAuditableBeanWrapperFactoryUnitTests { @Test public void returnsAuditableInterfaceBeanWrapperForAuditable() { - assertThat(factory.getBeanWrapperFor(Optional.of(new AuditedUser()))).hasValueSatisfying(it -> { - assertThat(it).isInstanceOf(AuditableInterfaceBeanWrapper.class); - }); + assertThat(factory.getBeanWrapperFor(Optional.of(new AuditedUser()))).hasValueSatisfying(it -> assertThat(it).isInstanceOf(AuditableInterfaceBeanWrapper.class)); } @Test public void returnsReflectionAuditingBeanWrapperForNonAuditableButAnnotated() { - assertThat(factory.getBeanWrapperFor(Optional.of(new AnnotatedUser()))).hasValueSatisfying(it -> { - assertThat(it).isInstanceOf(ReflectionAuditingBeanWrapper.class); - }); + assertThat(factory.getBeanWrapperFor(Optional.of(new AnnotatedUser()))).hasValueSatisfying(it -> assertThat(it).isInstanceOf(ReflectionAuditingBeanWrapper.class)); } @Test @@ -89,8 +85,6 @@ public class DefaultAuditableBeanWrapperFactoryUnitTests { Optional wrapper = factory.getBeanWrapperFor(Optional.of(user)); - assertThat(wrapper).hasValueSatisfying(it -> { - it.setLastModifiedDate(Optional.of(zonedDateTime)); - }); + assertThat(wrapper).hasValueSatisfying(it -> it.setLastModifiedDate(Optional.of(zonedDateTime))); } } diff --git a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java index a510f9536..32c6d1b9c 100755 --- a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java @@ -82,7 +82,7 @@ public class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests @Test // DATACMNS-365 public void setsUpHandlerWithMappingContext() { - new IsNewAwareAuditingHandler(new PersistentEntities(Collections.> emptySet())); + new IsNewAwareAuditingHandler(new PersistentEntities(Collections.emptySet())); } @Test // DATACMNS-638 diff --git a/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java b/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java index 3b05e06ef..91448cb44 100755 --- a/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java @@ -96,9 +96,7 @@ public class MappingAuditableBeanWrapperFactoryUnitTests { Optional wrapper = factory.getBeanWrapperFor(Optional.of(sample)); - assertThat(wrapper).hasValueSatisfying(it -> { - it.setLastModifiedDate(Optional.of(Instant.now())); - }); + assertThat(wrapper).hasValueSatisfying(it -> it.setLastModifiedDate(Optional.of(Instant.now()))); } @Test // DATACMNS-365 @@ -109,9 +107,7 @@ public class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-365 public void returnsAuditableWrapperForAuditable() { - assertThat(factory.getBeanWrapperFor(Optional.of(mock(ExtendingAuditable.class)))).hasValueSatisfying(it -> { - assertThat(it).isInstanceOf(AuditableInterfaceBeanWrapper.class); - }); + assertThat(factory.getBeanWrapperFor(Optional.of(mock(ExtendingAuditable.class)))).hasValueSatisfying(it -> assertThat(it).isInstanceOf(AuditableInterfaceBeanWrapper.class)); } @Test // DATACMNS-638 @@ -166,9 +162,7 @@ public class MappingAuditableBeanWrapperFactoryUnitTests { Optional wrapper = factory.getBeanWrapperFor(Optional.of(sample)); - assertThat(wrapper).hasValueSatisfying(it -> { - assertThat(it.getLastModifiedDate()).isEqualTo(expected); - }); + assertThat(wrapper).hasValueSatisfying(it -> assertThat(it.getLastModifiedDate()).isEqualTo(expected)); } static class Sample { diff --git a/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java b/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java index cada992ef..bd64a0927 100755 --- a/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupportUnitTests.java @@ -14,7 +14,6 @@ */ package org.springframework.data.auditing.config; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.lang.annotation.Annotation; diff --git a/src/test/java/org/springframework/data/convert/ClassGeneratingEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/convert/ClassGeneratingEntityInstantiatorUnitTests.java index 49eb90f1b..f16fce22c 100755 --- a/src/test/java/org/springframework/data/convert/ClassGeneratingEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/convert/ClassGeneratingEntityInstantiatorUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.convert; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import static org.springframework.data.util.ClassTypeInformation.*; @@ -90,9 +89,7 @@ public class ClassGeneratingEntityInstantiatorUnitTests

{ - verify(provider, times(1)).getParameterValue(it.getParameters().iterator().next()); - }); + assertThat(constructor).hasValueSatisfying(it -> verify(provider, times(1)).getParameterValue(it.getParameters().iterator().next())); } @Test(expected = MappingInstantiationException.class) // DATACMNS-300, DATACMNS-578 @@ -108,7 +105,7 @@ public class ClassGeneratingEntityInstantiatorUnitTests

entity = new BasicPersistentEntity(from(Inner.class)); + BasicPersistentEntity entity = new BasicPersistentEntity<>(from(Inner.class)); assertThat(entity.getPersistenceConstructor()).hasValueSatisfying(constructor -> { Parameter parameter = constructor.getParameters().iterator().next(); @@ -167,9 +164,7 @@ public class ClassGeneratingEntityInstantiatorUnitTests

(ObjCtorDefault.class).getConstructor())// .when(entity).getPersistenceConstructor(); - IntStream.range(0, 2).forEach(i -> { - assertThat(this.instance.createInstance(entity, provider)).isInstanceOf(ObjCtorDefault.class); - }); + IntStream.range(0, 2).forEach(i -> assertThat(this.instance.createInstance(entity, provider)).isInstanceOf(ObjCtorDefault.class)); } @Test // DATACMNS-578 diff --git a/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java b/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java index 4880d44c7..014171d70 100755 --- a/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java +++ b/src/test/java/org/springframework/data/convert/ConfigurableTypeInformationMapperUnitTests.java @@ -52,7 +52,7 @@ public class ConfigurableTypeInformationMapperUnitTests, String> map = new HashMap, String>(); + Map, String> map = new HashMap<>(); map.put(String.class, "1"); map.put(Object.class, "1"); diff --git a/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java b/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java index 17cd40114..992b16279 100755 --- a/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java +++ b/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java @@ -53,7 +53,7 @@ public class DefaultTypeMapperUnitTests { @Before public void setUp() { - this.typeMapper = new DefaultTypeMapper>(accessor, Arrays.asList(mapper)); + this.typeMapper = new DefaultTypeMapper<>(accessor, Collections.singletonList(mapper)); this.source = Collections.singletonMap("key", ALIAS.toString()); doReturn(ALIAS).when(accessor).readAliasFrom(source); @@ -98,7 +98,7 @@ public class DefaultTypeMapperUnitTests { TypeInformation typeInformation = TypeInformation.class.cast(result); assertThat(typeInformation.getType()).isEqualTo(Bar.class); - OptionalAssert.assertOptional(typeInformation.getProperty("field")).value(nested -> nested.getType()) + OptionalAssert.assertOptional(typeInformation.getProperty("field")).value(TypeInformation::getType) .isEqualTo(Character.class); } diff --git a/src/test/java/org/springframework/data/convert/EntityInstantiatorsUnitTests.java b/src/test/java/org/springframework/data/convert/EntityInstantiatorsUnitTests.java index fa2d88212..6a817f9b7 100755 --- a/src/test/java/org/springframework/data/convert/EntityInstantiatorsUnitTests.java +++ b/src/test/java/org/springframework/data/convert/EntityInstantiatorsUnitTests.java @@ -56,7 +56,7 @@ public class EntityInstantiatorsUnitTests { doReturn(String.class).when(entity).getType(); Map, EntityInstantiator> customInstantiators = Collections - ., EntityInstantiator> singletonMap(String.class, customInstantiator); + .singletonMap(String.class, customInstantiator); EntityInstantiators instantiators = new EntityInstantiators(customInstantiators); assertThat(instantiators.getInstantiatorFor(entity)).isEqualTo(customInstantiator); @@ -68,7 +68,7 @@ public class EntityInstantiatorsUnitTests { doReturn(Object.class).when(entity).getType(); Map, EntityInstantiator> customInstantiators = Collections - ., EntityInstantiator> singletonMap(String.class, ReflectionEntityInstantiator.INSTANCE); + .singletonMap(String.class, ReflectionEntityInstantiator.INSTANCE); EntityInstantiators instantiators = new EntityInstantiators(customInstantiator, customInstantiators); instantiators.getInstantiatorFor(entity); diff --git a/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java b/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java index d06fec408..311043d21 100644 --- a/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java @@ -128,7 +128,7 @@ public class Jsr310ConvertersUnitTests { @Test public void convertsZoneIdToStringAndBack() { - Map ids = new HashMap(); + Map ids = new HashMap<>(); ids.put("Europe/Berlin", ZoneId.of("Europe/Berlin")); ids.put("+06:00", ZoneId.of("+06:00")); diff --git a/src/test/java/org/springframework/data/convert/ReflectionEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/convert/ReflectionEntityInstantiatorUnitTests.java index 6fbecce23..7226d756a 100755 --- a/src/test/java/org/springframework/data/convert/ReflectionEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/convert/ReflectionEntityInstantiatorUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.convert; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import static org.springframework.data.convert.ReflectionEntityInstantiator.*; import static org.springframework.data.util.ClassTypeInformation.*; @@ -87,9 +86,7 @@ public class ReflectionEntityInstantiatorUnitTests

{ - verify(provider, times(1)).getParameterValue(it.getParameters().iterator().next()); - }); + assertThat(constructor).hasValueSatisfying(it -> verify(provider, times(1)).getParameterValue(it.getParameters().iterator().next())); } @Test(expected = MappingInstantiationException.class) // DATACMNS-300 @@ -105,7 +102,7 @@ public class ReflectionEntityInstantiatorUnitTests

entity = new BasicPersistentEntity(from(Inner.class)); + BasicPersistentEntity entity = new BasicPersistentEntity<>(from(Inner.class)); assertThat(entity.getPersistenceConstructor()).hasValueSatisfying(it -> { Parameter parameter = it.getParameters().iterator().next(); @@ -131,7 +128,7 @@ public class ReflectionEntityInstantiatorUnitTests

entity = new BasicPersistentEntity(from(Sample.class)); + PersistentEntity entity = new BasicPersistentEntity<>(from(Sample.class)); doReturn(Optional.of("FOO")).when(provider).getParameterValue(any(Parameter.class)); diff --git a/src/test/java/org/springframework/data/convert/ThreeTenBackPortConvertersUnitTests.java b/src/test/java/org/springframework/data/convert/ThreeTenBackPortConvertersUnitTests.java index ef65867ac..fe733a071 100755 --- a/src/test/java/org/springframework/data/convert/ThreeTenBackPortConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/convert/ThreeTenBackPortConvertersUnitTests.java @@ -111,7 +111,7 @@ public class ThreeTenBackPortConvertersUnitTests { @Test public void convertsZoneIdToStringAndBack() { - Map ids = new HashMap(); + Map ids = new HashMap<>(); ids.put("Europe/Berlin", ZoneId.of("Europe/Berlin")); ids.put("+06:00", ZoneId.of("+06:00")); diff --git a/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java b/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java index d7c09c746..71a1fbe12 100755 --- a/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java +++ b/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java @@ -21,11 +21,6 @@ import static org.springframework.data.domain.ExampleMatcher.*; import org.junit.Before; import org.junit.Test; -import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatcher; -import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers; -import org.springframework.data.domain.ExampleMatcher.MatcherConfigurer; -import org.springframework.data.domain.ExampleMatcher.NullHandler; -import org.springframework.data.domain.ExampleMatcher.StringMatcher; /** * Unit test for {@link ExampleMatcher}. @@ -169,24 +164,14 @@ public class ExampleMatcherUnitTests { .withNullHandler(NullHandler.IGNORE) // .withIgnoreCase("ignored-case") // .withMatcher("hello", GenericPropertyMatchers.contains().caseSensitive()) // - .withMatcher("world", new MatcherConfigurer() { - @Override - public void configureMatcher(GenericPropertyMatcher matcher) { - matcher.endsWith(); - } - }); + .withMatcher("world", matcher -> matcher.endsWith()); ExampleMatcher sameAsMatcher = matching() // .withIgnorePaths("foo", "bar", "baz") // .withNullHandler(NullHandler.IGNORE) // .withIgnoreCase("ignored-case") // .withMatcher("hello", GenericPropertyMatchers.contains().caseSensitive()) // - .withMatcher("world", new MatcherConfigurer() { - @Override - public void configureMatcher(GenericPropertyMatcher matcher) { - matcher.endsWith(); - } - }); + .withMatcher("world", matcher -> matcher.endsWith()); ExampleMatcher different = matching() // .withIgnorePaths("foo", "bar", "baz") // diff --git a/src/test/java/org/springframework/data/domain/ExampleUnitTests.java b/src/test/java/org/springframework/data/domain/ExampleUnitTests.java index da84c5a98..6e7c88aea 100755 --- a/src/test/java/org/springframework/data/domain/ExampleUnitTests.java +++ b/src/test/java/org/springframework/data/domain/ExampleUnitTests.java @@ -20,7 +20,6 @@ import static org.springframework.data.domain.ExampleMatcher.*; import org.junit.Before; import org.junit.Test; -import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers; /** * Test for {@link Example}. diff --git a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java index b0b22a32d..90c71fa0e 100755 --- a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java +++ b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java @@ -34,17 +34,17 @@ public class PageImplUnitTests { @Test public void assertEqualsForSimpleSetup() throws Exception { - PageImpl page = new PageImpl<>(Arrays.asList("Foo")); + PageImpl page = new PageImpl<>(Collections.singletonList("Foo")); assertEqualsAndHashcode(page, page); - assertEqualsAndHashcode(page, new PageImpl<>(Arrays.asList("Foo"))); + assertEqualsAndHashcode(page, new PageImpl<>(Collections.singletonList("Foo"))); } @Test public void assertEqualsForComplexSetup() throws Exception { Pageable pageable = PageRequest.of(0, 10); - List content = Arrays.asList("Foo"); + List content = Collections.singletonList("Foo"); PageImpl page = new PageImpl<>(content, pageable, 100); @@ -68,7 +68,7 @@ public class PageImplUnitTests { @Test public void returnsNextPageable() { - Page page = new PageImpl<>(Arrays.asList(new Object()), PageRequest.of(0, 1), 10); + Page page = new PageImpl<>(Collections.singletonList(new Object()), PageRequest.of(0, 1), 10); assertThat(page.isFirst()).isTrue(); assertThat(page.hasPrevious()).isFalse(); @@ -82,7 +82,7 @@ public class PageImplUnitTests { @Test public void returnsPreviousPageable() { - Page page = new PageImpl<>(Arrays.asList(new Object()), PageRequest.of(1, 1), 2); + Page page = new PageImpl<>(Collections.singletonList(new Object()), PageRequest.of(1, 1), 2); assertThat(page.isFirst()).isFalse(); assertThat(page.hasPrevious()).isTrue(); @@ -116,7 +116,7 @@ public class PageImplUnitTests { @Test // DATACMNS-323 public void returnsCorrectTotalPages() { - Page page = new PageImpl<>(Arrays.asList("a")); + Page page = new PageImpl<>(Collections.singletonList("a")); assertThat(page.getTotalPages()).isEqualTo(1); assertThat(page.hasNext()).isFalse(); @@ -127,7 +127,7 @@ public class PageImplUnitTests { public void transformsPageCorrectly() { Page transformed = new PageImpl<>(Arrays.asList("foo", "bar"), PageRequest.of(0, 2), 10) - .map(source -> source.length()); + .map(String::length); assertThat(transformed.getContent()).hasSize(2); assertThat(transformed.getContent()).contains(3, 3); diff --git a/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java b/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java index 547e1973c..103019006 100755 --- a/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java +++ b/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java @@ -20,6 +20,7 @@ import static org.assertj.core.api.Assertions.*; import java.io.IOException; import java.io.StringWriter; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Scanner; @@ -103,8 +104,8 @@ public class SpringDataJaxbUnitTests { PageWrapper wrapper = new PageWrapper(); Content content = new Content(); content.name = "Foo"; - wrapper.page = new PageImpl<>(Arrays.asList(content)); - wrapper.pageWithLinks = new PageImpl<>(Arrays.asList(content)); + wrapper.page = new PageImpl<>(Collections.singletonList(content)); + wrapper.pageWithLinks = new PageImpl<>(Collections.singletonList(content)); marshaller.marshal(wrapper, new StringWriter()); } diff --git a/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java b/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java index 07327a477..8e91d8b5f 100755 --- a/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java +++ b/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java @@ -18,6 +18,7 @@ package org.springframework.data.geo; import static org.assertj.core.api.Assertions.*; import java.util.Arrays; +import java.util.Collections; import org.junit.Test; import org.springframework.util.SerializationUtils; @@ -45,7 +46,7 @@ public class GeoResultsUnitTests { public void testSerialization() { GeoResult result = new GeoResult<>("test", new Distance(2)); - GeoResults geoResults = new GeoResults<>(Arrays.asList(result)); + GeoResults geoResults = new GeoResults<>(Collections.singletonList(result)); @SuppressWarnings("unchecked") GeoResults serialized = (GeoResults) SerializationUtils diff --git a/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java b/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java index 344fb78b1..18d97f315 100755 --- a/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java @@ -45,8 +45,8 @@ public class ParameterUnitTests

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

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

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

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

> { @Test public void twoParametersWithDifferenTypeAreNotEqual() { - Parameter left = new Parameter(Optional.of("name"), type, annotations, Optional.of(entity)); - Parameter right = new Parameter(Optional.of("name"), ClassTypeInformation.from(String.class), + Parameter left = new Parameter<>(Optional.of("name"), type, annotations, Optional.of(entity)); + Parameter right = new Parameter<>(Optional.of("name"), ClassTypeInformation.from(String.class), annotations, Optional.of(stringEntity)); assertThat(left).isNotEqualTo(right); diff --git a/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java b/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java index 714851eb3..76793ed56 100755 --- a/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java @@ -96,8 +96,8 @@ public class PreferredConstructorDiscovererUnitTests

entity = new BasicPersistentEntity(ClassTypeInformation.from(Inner.class)); - PreferredConstructorDiscoverer discoverer = new PreferredConstructorDiscoverer(entity); + PersistentEntity entity = new BasicPersistentEntity<>(ClassTypeInformation.from(Inner.class)); + PreferredConstructorDiscoverer discoverer = new PreferredConstructorDiscoverer<>(entity); assertThat(discoverer.getConstructor()).hasValueSatisfying(constructor -> { diff --git a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java index c3a75f26d..0c0cdaefa 100755 --- a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java @@ -39,7 +39,7 @@ public class SimpleTypeHolderUnitTests { @Test(expected = IllegalArgumentException.class) public void rejectsNullOriginal() { - new SimpleTypeHolder(new HashSet>(), null); + new SimpleTypeHolder(new HashSet<>(), null); } @Test(expected = IllegalArgumentException.class) // DATACMNS-31 @@ -59,7 +59,7 @@ public class SimpleTypeHolderUnitTests { @Test public void doesNotAddDefaultConvertersIfConfigured() { - SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet>(), false); + SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet<>(), false); assertThat(holder.isSimpleType(UUID.class)).isFalse(); } diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java index a0b0a1d56..9e4b817d3 100755 --- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java +++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java @@ -75,20 +75,17 @@ public class AbstractMappingContextIntegrationTests context.getPersistentEntity(Person.class)); - Thread b = new Thread(new Runnable() { + Thread b = new Thread(() -> { - public void run() { + PersistentEntity entity = context.getRequiredPersistentEntity(Person.class); - PersistentEntity entity = context.getRequiredPersistentEntity(Person.class); - - entity.doWithProperties((PropertyHandler) persistentProperty -> { - try { - Thread.sleep(250); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - }); - } + entity.doWithProperties((PropertyHandler) persistentProperty -> { + try { + Thread.sleep(250); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + }); }); a.start(); diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java index a3967957d..504eadb34 100755 --- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java @@ -142,9 +142,7 @@ public class AbstractMappingContextUnitTests { PersistentEntity entity = mappingContext .getRequiredPersistentEntity(Extension.class); - assertThat(entity.getPersistentProperty("foo")).hasValueSatisfying(it -> { - assertThat(it.isIdProperty()).isTrue(); - }); + assertThat(entity.getPersistentProperty("foo")).hasValueSatisfying(it -> assertThat(it.isIdProperty()).isTrue()); } @Test // DATACMNS-345 @@ -155,11 +153,7 @@ public class AbstractMappingContextUnitTests { PersistentEntity entity = mappingContext .getRequiredPersistentEntity(Sample.class); - assertThat(entity.getPersistentProperty("persons")).hasValueSatisfying(it -> { - assertThat(mappingContext.getPersistentEntity(it)).hasValueSatisfying(inner -> { - assertThat(inner.getType()).isEqualTo(Person.class); - }); - }); + assertThat(entity.getPersistentProperty("persons")).hasValueSatisfying(it -> assertThat(mappingContext.getPersistentEntity(it)).hasValueSatisfying(inner -> assertThat(inner.getType()).isEqualTo(Person.class))); } @Test // DATACMNS-380 diff --git a/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java b/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java index c1c862539..848909e52 100755 --- a/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java @@ -16,10 +16,10 @@ package org.springframework.data.mapping.context; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Arrays; +import java.util.Collections; import org.junit.Before; import org.junit.Test; @@ -46,7 +46,7 @@ public class DefaultPersistenPropertyPathUnitTests(Arrays.asList(first)); + oneLeg = new DefaultPersistentPropertyPath<>(Collections.singletonList(first)); twoLegs = new DefaultPersistentPropertyPath<>(Arrays.asList(first, second)); } @@ -98,7 +98,7 @@ public class DefaultPersistenPropertyPathUnitTests extension = twoLegs.getExtensionForBaseOf(oneLeg); - assertThat(extension).isEqualTo(new DefaultPersistentPropertyPath<>(Arrays.asList(second))); + assertThat(extension).isEqualTo(new DefaultPersistentPropertyPath<>(Collections.singletonList(second))); } @Test diff --git a/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java b/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java index cfefdae74..c9c927a46 100755 --- a/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java @@ -41,21 +41,21 @@ public class MappingContextEventUnitTests, P ex @Test public void returnsPersistentEntityHandedToTheEvent() { - MappingContextEvent event = new MappingContextEvent(mappingContext, entity); + MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); assertThat(event.getPersistentEntity()).isEqualTo(entity); } @Test public void usesMappingContextAsEventSource() { - MappingContextEvent event = new MappingContextEvent(mappingContext, entity); + MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); assertThat(event.getSource()).isEqualTo(mappingContext); } @Test public void detectsEmittingMappingContextCorrectly() { - MappingContextEvent event = new MappingContextEvent(mappingContext, entity); + MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); assertThat(event.wasEmittedBy(mappingContext)).isTrue(); assertThat(event.wasEmittedBy(otherMappingContext)).isFalse(); } diff --git a/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java b/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java index 00bf40ca0..af16efa3d 100755 --- a/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java @@ -65,15 +65,13 @@ public class PersistentEntitiesUnitTests { context.setInitialEntitySet(Collections.singleton(Sample.class)); context.initialize(); - PersistentEntities entities = new PersistentEntities(Arrays.asList(context)); + PersistentEntities entities = new PersistentEntities(Collections.singletonList(context)); assertThat(entities.getPersistentEntity(Sample.class)).isPresent(); assertThat(entities.getPersistentEntity(Object.class)).isNotPresent(); assertThat(entities.getManagedTypes()).contains(ClassTypeInformation.from(Sample.class)); - assertThat(entities.getPersistentEntity(Sample.class)).hasValueSatisfying(it -> { - assertThat(entities).contains(it); - }); + assertThat(entities.getPersistentEntity(Sample.class)).hasValueSatisfying(it -> assertThat(entities).contains(it)); } diff --git a/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java b/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java index e3870dfaa..f292e1c67 100644 --- a/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java +++ b/src/test/java/org/springframework/data/mapping/context/SampleMappingContext.java @@ -12,7 +12,7 @@ public class SampleMappingContext @SuppressWarnings("unchecked") protected BasicPersistentEntity createPersistentEntity( TypeInformation typeInformation) { - return new BasicPersistentEntity((TypeInformation) typeInformation); + return new BasicPersistentEntity<>((TypeInformation) typeInformation); } @Override diff --git a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java index a350f6af0..4f98b9943 100755 --- a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java @@ -92,9 +92,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ - assertThat(cache.containsKey(MyAnnotation.class)).isTrue(); - }); + assertThat(property.findAnnotation(MyAnnotation.class)).hasValueSatisfying(annotation -> assertThat(cache.containsKey(MyAnnotation.class)).isTrue()); }); } @@ -112,33 +110,25 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ - assertThat(it.usePropertyAccess()).isFalse(); - }); + assertThat(getProperty(FieldAccess.class, "name")).hasValueSatisfying(it -> assertThat(it.usePropertyAccess()).isFalse()); } @Test // DATACMNS-243 public void usesAccessTypeDeclaredOnTypeAsDefault() { - assertThat(getProperty(PropertyAccess.class, "firstname")).hasValueSatisfying(it -> { - assertThat(it.usePropertyAccess()).isTrue(); - }); + assertThat(getProperty(PropertyAccess.class, "firstname")).hasValueSatisfying(it -> assertThat(it.usePropertyAccess()).isTrue()); } @Test // DATACMNS-243 public void propertyAnnotationOverridesTypeConfiguration() { - assertThat(getProperty(PropertyAccess.class, "lastname")).hasValueSatisfying(it -> { - assertThat(it.usePropertyAccess()).isFalse(); - }); + assertThat(getProperty(PropertyAccess.class, "lastname")).hasValueSatisfying(it -> assertThat(it.usePropertyAccess()).isFalse()); } @Test // DATACMNS-243 public void fieldAnnotationOverridesTypeConfiguration() { - assertThat(getProperty(PropertyAccess.class, "emailAddress")).hasValueSatisfying(it -> { - assertThat(it.usePropertyAccess()).isFalse(); - }); + assertThat(getProperty(PropertyAccess.class, "emailAddress")).hasValueSatisfying(it -> assertThat(it.usePropertyAccess()).isFalse()); } @Test // DATACMNS-243 @@ -149,9 +139,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ - assertThat(it.isWritable()).isTrue(); - }); + assertThat(getProperty(ClassWithReadOnlyProperties.class, "noAnnotations")).hasValueSatisfying(it -> assertThat(it.isWritable()).isTrue()); } @Test // DATACMNS-534 @@ -162,17 +150,13 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ - assertThat(it.isWritable()).isFalse(); - }); + assertThat(getProperty(ClassWithReadOnlyProperties.class, "readOnlyProperty")).hasValueSatisfying(it -> assertThat(it.isWritable()).isFalse()); } @Test // DATACMNS-534 public void considersPropertyWithReadOnlyMetaAnnotationReadOnly() { - assertThat(getProperty(ClassWithReadOnlyProperties.class, "customReadOnlyProperty")).hasValueSatisfying(it -> { - assertThat(it.isWritable()).isFalse(); - }); + assertThat(getProperty(ClassWithReadOnlyProperties.class, "customReadOnlyProperty")).hasValueSatisfying(it -> assertThat(it.isWritable()).isFalse()); } @Test // DATACMNS-556 @@ -208,31 +192,23 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ - assertThat(cache.containsKey(MyAnnotation.class)).isTrue(); - }); + assertThat(property.findAnnotation(MyAnnotation.class)).hasValueSatisfying(it -> assertThat(cache.containsKey(MyAnnotation.class)).isTrue()); }); } @Test // DATACMNS-825 public void composedAnnotationWithAliasShouldHaveSynthesizedAttributeValues() { - assertThat(entity.getPersistentProperty("metaAliased")).hasValueSatisfying(property -> { - assertThat(property.findAnnotation(MyAnnotation.class)).hasValueSatisfying(annotation -> { - assertThat(AnnotationUtils.getValue(annotation)).isEqualTo("spring"); - }); - }); + assertThat(entity.getPersistentProperty("metaAliased")).hasValueSatisfying(property -> assertThat(property.findAnnotation(MyAnnotation.class)).hasValueSatisfying(annotation -> assertThat(AnnotationUtils.getValue(annotation)).isEqualTo("spring"))); } @Test // DATACMNS-867 public void revisedAnnotationWithAliasShouldHaveSynthesizedAttributeValues() { - assertThat(entity.getPersistentProperty("setter")).hasValueSatisfying(property -> { - assertThat(property.findAnnotation(RevisedAnnnotationWithAliasFor.class)).hasValueSatisfying(annotation -> { - assertThat(annotation.name()).isEqualTo("my-value"); - assertThat(annotation.value()).isEqualTo("my-value"); - }); - }); + assertThat(entity.getPersistentProperty("setter")).hasValueSatisfying(property -> assertThat(property.findAnnotation(RevisedAnnnotationWithAliasFor.class)).hasValueSatisfying(annotation -> { + assertThat(annotation.name()).isEqualTo("my-value"); + assertThat(annotation.value()).isEqualTo("my-value"); + })); } @SuppressWarnings("unchecked") diff --git a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java index 4e2a4e334..ccd6870d8 100755 --- a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java @@ -159,15 +159,11 @@ public class BasicPersistentEntityUnitTests> { Optional property = entity.getPersistentProperty(LastModifiedBy.class); - assertThat(property).hasValueSatisfying(it -> { - assertThat(it.getName()).isEqualTo("field"); - }); + assertThat(property).hasValueSatisfying(it -> assertThat(it.getName()).isEqualTo("field")); property = entity.getPersistentProperty(CreatedBy.class); - assertThat(property).hasValueSatisfying(it -> { - assertThat(it.getName()).isEqualTo("property"); - }); + assertThat(property).hasValueSatisfying(it -> assertThat(it.getName()).isEqualTo("property")); assertThat(entity.getPersistentProperty(CreatedDate.class)).isNotPresent(); } @@ -253,13 +249,7 @@ public class BasicPersistentEntityUnitTests> { BasicPersistentEntity entity = createEntity(Entity.class); entity.addAssociation(null); - entity.doWithAssociations(new SimpleAssociationHandler() { - - @Override - public void doWithAssociation(Association> association) { - Assert.fail("Expected the method to never be called!"); - } - }); + entity.doWithAssociations((SimpleAssociationHandler) association -> Assert.fail("Expected the method to never be called!")); } private BasicPersistentEntity createEntity(Class type) { @@ -267,7 +257,7 @@ public class BasicPersistentEntityUnitTests> { } private BasicPersistentEntity createEntity(Class type, Comparator comparator) { - return new BasicPersistentEntity(ClassTypeInformation.from(type), Optional.ofNullable(comparator)); + return new BasicPersistentEntity<>(ClassTypeInformation.from(type), Optional.ofNullable(comparator)); } @TypeAlias("foo") diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java index b11592bb9..1dcf78796 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java @@ -108,7 +108,7 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { private static List parameters(List> types, String propertyName, Object value) throws Exception { - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); for (Class type : types) { diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java index d45f4ef1d..d4baf097c 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java @@ -56,7 +56,7 @@ public class ClassGeneratingPropertyAccessorFactoryEntityTypeTests { private EntityInformation getEntityInformation(Class type) { PersistentEntity entity = mappingContext.getRequiredPersistentEntity(type); - return new PersistentEntityInformation(entity); + return new PersistentEntityInformation<>(entity); } interface Algorithm { diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java index e1755f2c9..87cd5be9d 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java @@ -65,7 +65,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { @Parameters(name = "{3}") public static List parameters() { - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); List propertyNames = Arrays.asList("privateField", "packageDefaultField", "protectedField", "publicField", "privateProperty", "packageDefaultProperty", "protectedProperty", "publicProperty", "syntheticProperty"); @@ -86,7 +86,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { private static List parameters(Object bean, List propertyNames, Class expectedConstructorType) { - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); for (String propertyName : propertyNames) { parameters.add(new Object[] { bean, propertyName, expectedConstructorType, @@ -128,21 +128,15 @@ public class ClassGeneratingPropertyAccessorFactoryTests { @Test // DATACMNS-809 public void getPropertyShouldFailOnUnhandledProperty() { - assertThat(getProperty(new Dummy(), "dummy")).hasValueSatisfying(property -> { - - assertThatExceptionOfType(UnsupportedOperationException.class)// - .isThrownBy(() -> getPersistentPropertyAccessor(bean).getProperty(property)); - }); + assertThat(getProperty(new Dummy(), "dummy")).hasValueSatisfying(property -> assertThatExceptionOfType(UnsupportedOperationException.class)// + .isThrownBy(() -> getPersistentPropertyAccessor(bean).getProperty(property))); } @Test // DATACMNS-809 public void setPropertyShouldFailOnUnhandledProperty() { - assertThat(getProperty(new Dummy(), "dummy")).hasValueSatisfying(property -> { - - assertThatExceptionOfType(UnsupportedOperationException.class)// - .isThrownBy(() -> getPersistentPropertyAccessor(bean).setProperty(property, Optional.empty())); - }); + assertThat(getProperty(new Dummy(), "dummy")).hasValueSatisfying(property -> assertThatExceptionOfType(UnsupportedOperationException.class)// + .isThrownBy(() -> getPersistentPropertyAccessor(bean).setProperty(property, Optional.empty()))); } @Test // DATACMNS-809 diff --git a/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java index 4c989f42a..ff809823f 100755 --- a/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java @@ -59,9 +59,7 @@ public class ConvertingPropertyAccessorUnitTests { Entity entity = new Entity(); entity.id = 1L; - assertThat(getIdProperty()).hasValueSatisfying(it -> { - assertThat(getAccessor(entity, CONVERSION_SERVICE).getProperty(it, String.class)).hasValue("1"); - }); + assertThat(getIdProperty()).hasValueSatisfying(it -> assertThat(getAccessor(entity, CONVERSION_SERVICE).getProperty(it, String.class)).hasValue("1")); } @Test // DATACMNS-596 diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java b/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java index 503a888ad..1f6c07bcd 100755 --- a/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Iterator; @@ -77,13 +76,10 @@ public class PersistentEntityParameterValueProviderUnitTests

provider = new PersistentEntityParameterValueProvider<>(entity, propertyValueProvider, Optional.of(property)); - assertThat(entity.getPersistenceConstructor()).hasValueSatisfying(constructor -> { - - assertThatExceptionOfType(MappingException.class)// - .isThrownBy(() -> provider.getParameterValue(constructor.getParameters().iterator().next()))// - .withMessageContaining("bar")// - .withMessageContaining(Entity.class.getName()); - }); + assertThat(entity.getPersistenceConstructor()).hasValueSatisfying(constructor -> assertThatExceptionOfType(MappingException.class)// + .isThrownBy(() -> provider.getParameterValue(constructor.getParameters().iterator().next()))// + .withMessageContaining("bar")// + .withMessageContaining(Entity.class.getName())); } static class Outer { diff --git a/src/test/java/org/springframework/data/mapping/model/SpelExpressionParameterProviderUnitTests.java b/src/test/java/org/springframework/data/mapping/model/SpelExpressionParameterProviderUnitTests.java index a660e5113..e6170ad33 100755 --- a/src/test/java/org/springframework/data/mapping/model/SpelExpressionParameterProviderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/SpelExpressionParameterProviderUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Optional; diff --git a/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java index 6297d621d..261f7f39d 100755 --- a/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java @@ -60,7 +60,7 @@ public class MapAccessingMethodInterceptorUnitTests { @Test // DATACMNS-630 public void setterInvocationStoresValueInMap() throws Throwable { - Map map = new HashMap(); + Map map = new HashMap<>(); when(invocation.getMethod()).thenReturn(Sample.class.getMethod("setName", String.class)); when(invocation.getArguments()).thenReturn(new Object[] { "Foo" }); @@ -74,7 +74,7 @@ public class MapAccessingMethodInterceptorUnitTests { @Test // DATACMNS-630 public void getterInvocationReturnsValueFromMap() throws Throwable { - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("name", "Foo"); when(invocation.getMethod()).thenReturn(Sample.class.getMethod("getName")); @@ -87,7 +87,7 @@ public class MapAccessingMethodInterceptorUnitTests { @Test // DATACMNS-630 public void getterReturnsNullIfMapDoesNotContainValue() throws Throwable { - Map map = new HashMap(); + Map map = new HashMap<>(); when(invocation.getMethod()).thenReturn(Sample.class.getMethod("getName")); @@ -98,7 +98,7 @@ public class MapAccessingMethodInterceptorUnitTests { public void rejectsNonAccessorInvocation() throws Throwable { when(invocation.getMethod()).thenReturn(Sample.class.getMethod("someMethod")); - new MapAccessingMethodInterceptor(Collections. emptyMap()).invoke(invocation); + new MapAccessingMethodInterceptor(Collections.emptyMap()).invoke(invocation); } interface Sample { diff --git a/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java index 4ab3a0c52..132705411 100755 --- a/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.projection; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Collection; diff --git a/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java b/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java index abf74b0b4..7d1cdbcc4 100755 --- a/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java @@ -94,11 +94,11 @@ public class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-630 public void createsMapBasedProxyFromSource() { - HashMap addressSource = new HashMap(); + HashMap addressSource = new HashMap<>(); addressSource.put("zipCode", "ZIP"); addressSource.put("city", "NewYork"); - Map source = new HashMap(); + Map source = new HashMap<>(); source.put("firstname", "Dave"); source.put("lastname", "Matthews"); source.put("address", addressSource); diff --git a/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java index 34f82f26b..6048ee877 100755 --- a/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java @@ -93,7 +93,7 @@ public class SpelEvaluatingMethodInterceptorUnitTests { @Test // DATACMNS-630 public void allowsMapAccessViaPropertyExpression() throws Throwable { - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("name", "Dave"); when(invocation.getMethod()).thenReturn(Projection.class.getMethod("propertyFromTarget")); diff --git a/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java b/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java index e61dea273..3046f58ec 100755 --- a/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.querydsl; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.io.Serializable; diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java index b198c658f..e52fab2f7 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java @@ -120,7 +120,7 @@ public class QuerydslBindingsFactoryUnitTests { @Override public void customize(QuerydslBindings bindings, QUser user) { - bindings.bind(QUser.user.firstname).firstOptional((path, value) -> value.map(it -> path.contains(it))); + bindings.bind(QUser.user.firstname).firstOptional((path, value) -> value.map(path::contains)); } } } diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java index 25843bab1..f114e8a2f 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java @@ -53,9 +53,7 @@ public class QuerydslDefaultBindingUnitTests { Optional predicate = binding.bind(QUser.user.address.city, Collections.singleton("two rivers")); - assertThat(predicate).hasValueSatisfying(it -> { - assertThat(it.toString()).isEqualTo(QUser.user.address.city.eq("two rivers").toString()); - }); + assertThat(predicate).hasValueSatisfying(it -> assertThat(it.toString()).isEqualTo(QUser.user.address.city.eq("two rivers").toString())); } @Test // DATACMNS-669 diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java index 421199a5d..862089c80 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java @@ -59,7 +59,7 @@ public class QuerydslPredicateBuilderUnitTests { public void setUp() { this.builder = new QuerydslPredicateBuilder(new DefaultFormattingConversionService(), SimpleEntityPathResolver.INSTANCE); - this.values = new LinkedMultiValueMap(); + this.values = new LinkedMultiValueMap<>(); } @Test(expected = IllegalArgumentException.class) // DATACMNS-669 @@ -122,7 +122,7 @@ public class QuerydslPredicateBuilderUnitTests { values.add("lastname", null); QuerydslBindings bindings = new QuerydslBindings(); - bindings.bind(QUser.user.lastname).firstOptional((path, value) -> value.map(it -> path.contains(it))); + bindings.bind(QUser.user.lastname).firstOptional((path, value) -> value.map(path::contains)); builder.getPredicate(USER_TYPE, values, bindings); } diff --git a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java b/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java index db331eebf..473a38693 100644 --- a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java +++ b/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java @@ -96,7 +96,7 @@ public class DummyCdiExtension extends CdiRepositoryExtensionSupport { @Override protected void setComponentInstanceMap() { - componentInstanceMap = new HashMap, BeanInstanceBag>(); + componentInstanceMap = new HashMap<>(); } @Override diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java index cd9f193cf..b59732184 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.config; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.lang.annotation.Annotation; diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java index 58bc83c04..dface79fc 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java @@ -43,7 +43,7 @@ public class RepositoryComponentProviderUnitTests { @Test public void findsAnnotatedRepositoryInterface() { - RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections. emptyList()); + RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections.emptyList()); Set components = provider.findCandidateComponents("org.springframework.data.repository.sample"); assertThat(components).hasSize(3); @@ -54,7 +54,7 @@ public class RepositoryComponentProviderUnitTests { @Test public void limitsFoundRepositoriesToIncludeFiltersOnly() { - List filters = Arrays.asList(new AssignableTypeFilter(MyOtherRepository.class)); + List filters = Collections.singletonList(new AssignableTypeFilter(MyOtherRepository.class)); RepositoryComponentProvider provider = new RepositoryComponentProvider(filters); Set components = provider.findCandidateComponents("org.springframework.data.repository"); @@ -66,7 +66,7 @@ public class RepositoryComponentProviderUnitTests { @Test // DATACMNS-90 public void shouldConsiderNestedRepositoryInterfacesIfEnabled() { - RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections. emptyList()); + RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections.emptyList()); provider.setConsiderNestedRepositoryInterfaces(true); Set components = provider.findCandidateComponents("org.springframework.data.repository.config"); diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java index bbb41d966..bebd27cdd 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java @@ -72,12 +72,12 @@ public class RepositoryConfigurationExtensionSupportUnitTests { @Override protected Collection> getIdentifyingAnnotations() { - return Collections.>singleton(Primary.class); + return Collections.singleton(Primary.class); } @Override protected Collection> getIdentifyingTypes() { - return Collections.>singleton(StoreInterface.class); + return Collections.singleton(StoreInterface.class); } } diff --git a/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java b/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java index 161c1801a..4d4425796 100755 --- a/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSourceUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.repository.config; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import org.junit.Test; diff --git a/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java index 152211486..40123aaa4 100755 --- a/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java @@ -51,7 +51,7 @@ public class AbstractEntityInformationUnitTests { @Test // DATACMNS-357 public void detectsNewStateForPrimitiveIds() { - CustomEntityInformation fooEn = new CustomEntityInformation( + CustomEntityInformation fooEn = new CustomEntityInformation<>( PrimitiveIdEntity.class); PrimitiveIdEntity entity = new PrimitiveIdEntity(); @@ -64,7 +64,7 @@ public class AbstractEntityInformationUnitTests { @Test // DATACMNS-357 public void detectsNewStateForPrimitiveWrapperIds() { - CustomEntityInformation fooEn = new CustomEntityInformation( + CustomEntityInformation fooEn = new CustomEntityInformation<>( PrimitiveWrapperIdEntity.class); PrimitiveWrapperIdEntity entity = new PrimitiveWrapperIdEntity(); diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java index a1e0cb8da..06fe9072a 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java @@ -136,11 +136,7 @@ public class DefaultCrudMethodsUnitTests { Arrays .asList(methods.getSaveMethod(), methods.getDeleteMethod(), methods.getFindAllMethod(), methods.getFindOneMethod())// - .forEach(method -> { - assertThat(method).hasValueSatisfying(it -> { - assertThat(it.isAccessible()).isTrue(); - }); - }); + .forEach(method -> assertThat(method).hasValueSatisfying(it -> assertThat(it.isAccessible()).isTrue())); } private static CrudMethods getMethodsFor(Class repositoryInterface) { diff --git a/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java index ddf8ecb3f..c8d0e8730 100644 --- a/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.repository.core.support; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import lombok.Getter; @@ -25,6 +24,7 @@ import lombok.Value; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.UUID; import org.aopalliance.aop.Advice; @@ -109,7 +109,7 @@ public class EventPublishingRepositoryProxyPostProcessorUnitTests { doReturn(SampleRepository.class.getMethod("save", Object.class)).when(invocation).getMethod(); SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Arrays.asList(event)); + MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); doReturn(new Object[] { sample }).when(invocation).getArguments(); EventPublishingMethodInterceptor// @@ -161,8 +161,8 @@ public class EventPublishingRepositoryProxyPostProcessorUnitTests { public void publishesEventsForCallToSaveWithIterable() throws Throwable { SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Arrays.asList(event)); - doReturn(new Object[] { Arrays.asList(sample) }).when(invocation).getArguments(); + MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + doReturn(new Object[] {Collections.singletonList(sample)}).when(invocation).getArguments(); doReturn(SampleRepository.class.getMethod("save", Iterable.class)).when(invocation).getMethod(); diff --git a/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java index 0ebb8a1eb..c617f435a 100755 --- a/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java @@ -21,6 +21,7 @@ import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatc import org.junit.Before; import org.junit.Test; import org.springframework.data.domain.ExampleMatcher; +import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatcher; import org.springframework.data.domain.ExampleMatcher.NoOpPropertyValueTransformer; import org.springframework.data.domain.ExampleMatcher.NullHandler; import org.springframework.data.domain.ExampleMatcher.PropertyValueTransformer; @@ -153,7 +154,7 @@ public class ExampleSpecificationAccessorUnitTests { specification = ExampleMatcher.matching().withStringMatcher(StringMatcher.ENDING) .withMatcher("firstname", contains()).withMatcher("address.city", startsWith()) - .withMatcher("lastname", matcher -> matcher.ignoreCase()); + .withMatcher("lastname", GenericPropertyMatcher::ignoreCase); exampleSpecificationAccessor = new ExampleMatcherAccessor(specification); @@ -168,7 +169,7 @@ public class ExampleSpecificationAccessorUnitTests { specification = ExampleMatcher.matching().// withStringMatcher(StringMatcher.STARTING).// - withMatcher("firstname", matcher -> matcher.ignoreCase()); + withMatcher("firstname", GenericPropertyMatcher::ignoreCase); exampleSpecificationAccessor = new ExampleMatcherAccessor(specification); @@ -217,13 +218,7 @@ public class ExampleSpecificationAccessorUnitTests { @Test // DATACMNS-810 public void getValueTransformerForPathReturnsConfigurtedTransformerForPath() { - PropertyValueTransformer transformer = new PropertyValueTransformer() { - - @Override - public Object convert(Object source) { - return source.toString(); - } - }; + PropertyValueTransformer transformer = source -> source.toString(); specification = ExampleMatcher.matching().// withTransformer("firstname", transformer); diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java index cbc3a63cb..7109df119 100755 --- a/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java @@ -62,7 +62,7 @@ public class PersistableEntityInformationUnitTests { @Test public void returnsGivenClassAsEntityType() throws Exception { - PersistableEntityInformation info = new PersistableEntityInformation( + PersistableEntityInformation info = new PersistableEntityInformation<>( PersistableEntity.class); assertThat(info.getJavaType()).isEqualTo(PersistableEntity.class); diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java index 84ee9e74f..63c9c97e7 100755 --- a/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/PersistenceExceptionTranslationRepositoryProxyPostProcessorUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.core.support; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import org.junit.Test; diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java index 4c7141381..1ef51abd6 100755 --- a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java @@ -39,7 +39,7 @@ public class PersistentEntityInformationUnitTests { SampleMappingContext context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Sample.class); - EntityInformation information = new PersistentEntityInformation(entity); + EntityInformation information = new PersistentEntityInformation<>(entity); assertThat(information.getIdType()).isEqualTo(Long.class); Sample sample = new Sample(); @@ -55,7 +55,7 @@ public class PersistentEntityInformationUnitTests { PersistentEntity entity = context .getRequiredPersistentEntity(EntityWithoutId.class); - PersistentEntityInformation information = new PersistentEntityInformation( + PersistentEntityInformation information = new PersistentEntityInformation<>( entity); assertThat(information.getId(new EntityWithoutId())).isNotPresent(); } diff --git a/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java index cdaf1df27..8d75b0222 100755 --- a/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptorUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.core.support; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Optional; diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java index 688f1795b..5ca9e6588 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.core.support; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import reactor.core.publisher.Mono; diff --git a/src/test/java/org/springframework/data/repository/core/support/ReflectionEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ReflectionEntityInformationUnitTests.java index 1f0128b30..95aed9f48 100755 --- a/src/test/java/org/springframework/data/repository/core/support/ReflectionEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ReflectionEntityInformationUnitTests.java @@ -49,7 +49,7 @@ public class ReflectionEntityInformationUnitTests { PrimitiveId primitiveId = new PrimitiveId(); - EntityInformation information = new ReflectionEntityInformation( + EntityInformation information = new ReflectionEntityInformation<>( PrimitiveId.class); assertThat(information.isNew(primitiveId)).isTrue(); @@ -63,7 +63,7 @@ public class ReflectionEntityInformationUnitTests { } private static EntityInformation getEntityInformation(Class type) { - return new ReflectionEntityInformation(type, Id.class); + return new ReflectionEntityInformation<>(type, Id.class); } static class Sample { diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java index 4b3ea4001..aa1887ef5 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java @@ -248,7 +248,7 @@ public class RepositoryFactorySupportUnitTests { assumeThat(SPRING_VERSION.isGreaterThanOrEqualTo(FOUR_DOT_TWO), is(true)); - List reference = Arrays.asList(new User()); + List reference = Collections.singletonList(new User()); expect(prepareConvertingRepository(reference).readAllByFirstname("Foo"), reference); } @@ -256,7 +256,7 @@ public class RepositoryFactorySupportUnitTests { @Test // DATACMNS-714 public void wrapsExecutionResultIntoListenableFutureWithEntityCollectionIfConfigured() throws Exception { - List reference = Arrays.asList(new User()); + List reference = Collections.singletonList(new User()); expect(prepareConvertingRepository(reference).readAllByLastname("Foo"), reference); } diff --git a/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java b/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java index 28efc63b1..f9451dde9 100755 --- a/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.init; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Collection; diff --git a/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java b/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java index c1484d70c..e494cafeb 100755 --- a/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java @@ -55,7 +55,7 @@ public class ExtensionAwareEvaluationContextProviderUnitTests { public void setUp() throws Exception { this.method = SampleRepo.class.getMethod("findByFirstname", String.class); - this.provider = new ExtensionAwareEvaluationContextProvider(Collections.emptyList()); + this.provider = new ExtensionAwareEvaluationContextProvider(Collections.emptyList()); } @Test // DATACMNS-533 @@ -199,7 +199,7 @@ public class ExtensionAwareEvaluationContextProviderUnitTests { final AtomicInteger counter = new AtomicInteger(); - this.provider = new ExtensionAwareEvaluationContextProvider(Arrays.asList( // + this.provider = new ExtensionAwareEvaluationContextProvider(Collections.singletonList( // new DummyExtension("_first", "first") { @Override diff --git a/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java index 8259b513c..dc23a3bed 100755 --- a/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java @@ -58,7 +58,7 @@ public class ResultProcessorUnitTests { ResultProcessor information = new ResultProcessor(getQueryMethod("findAll"), new SpelAwareProxyProjectionFactory()); Sample sample = new Sample("Dave", "Matthews"); - List result = new ArrayList<>(Arrays.asList(sample)); + List result = new ArrayList<>(Collections.singletonList(sample)); List converted = information.processResult(result); assertThat(converted).contains(sample); @@ -69,7 +69,7 @@ public class ResultProcessorUnitTests { ResultProcessor information = getProcessor("findOneProjection"); - SampleProjection result = information.processResult(Arrays.asList("Matthews")); + SampleProjection result = information.processResult(Collections.singletonList("Matthews")); assertThat(result.getLastname()).isEqualTo("Matthews"); } @@ -80,8 +80,8 @@ public class ResultProcessorUnitTests { ResultProcessor information = getProcessor("findAllProjection"); - List columns = Arrays.asList("Matthews"); - List> source = new ArrayList>(Arrays.asList(columns)); + List columns = Collections.singletonList("Matthews"); + List> source = new ArrayList<>(Collections.singletonList(columns)); List result = information.processResult(source); @@ -94,8 +94,8 @@ public class ResultProcessorUnitTests { ResultProcessor information = getProcessor("findAllProjection"); - List> source = new ArrayList>( - Arrays.asList(Collections.singletonMap("lastname", "Matthews"))); + List> source = new ArrayList<>( + Collections.singletonList(Collections.singletonMap("lastname", "Matthews"))); List result = information.processResult(source); @@ -108,7 +108,7 @@ public class ResultProcessorUnitTests { ResultProcessor information = getProcessor("findAllProjection"); - List source = new ArrayList<>(Arrays.asList(new Sample("Dave", "Matthews"))); + List source = new ArrayList<>(Collections.singletonList(new Sample("Dave", "Matthews"))); List result = information.processResult(source); assertThat(result).hasSize(1); @@ -120,7 +120,7 @@ public class ResultProcessorUnitTests { ResultProcessor information = getProcessor("findPageProjection", Pageable.class); - Page source = new PageImpl<>(Arrays.asList(new Sample("Dave", "Matthews"))); + Page source = new PageImpl<>(Collections.singletonList(new Sample("Dave", "Matthews"))); Page result = information.processResult(source); assertThat(result.getContent()).hasSize(1); @@ -186,7 +186,7 @@ public class ResultProcessorUnitTests { @SuppressWarnings("unchecked") public void supportsStreamAsReturnWrapper() throws Exception { - Stream samples = Arrays.asList(new Sample("Dave", "Matthews")).stream(); + Stream samples = Collections.singletonList(new Sample("Dave", "Matthews")).stream(); Object result = getProcessor("findStreamProjection").processResult(samples); @@ -209,7 +209,7 @@ public class ResultProcessorUnitTests { ResultProcessor processor = getProcessor("findAllProjection"); - SpecialList specialList = new SpecialList(new Object()); + SpecialList specialList = new SpecialList<>(new Object()); specialList.add(new Sample("Dave", "Matthews")); processor.processResult(specialList); diff --git a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java index c7ac3ec79..e9d8f6c11 100755 --- a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java @@ -22,6 +22,7 @@ import static org.springframework.data.repository.query.parser.Part.Type.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.Iterator; import java.util.List; @@ -138,12 +139,12 @@ public class PartTreeUnitTests { @Test public void parsesNearCorrectly() { - assertType(asList("locationNear"), NEAR, "location"); + assertType(Collections.singletonList("locationNear"), NEAR, "location"); } @Test public void supportToStringWithoutSortOrder() throws Exception { - assertType(asList("firstname"), SIMPLE_PROPERTY, "firstname"); + assertType(Collections.singletonList("firstname"), SIMPLE_PROPERTY, "firstname"); } @Test @@ -222,7 +223,7 @@ public class PartTreeUnitTests { @Test // DATACMNS-94 public void parsesExistsKeywordCorrectly() { - assertType(asList("lastnameExists"), EXISTS, "lastname", 0, false); + assertType(Collections.singletonList("lastnameExists"), EXISTS, "lastname", 0, false); } @Test // DATACMNS-94 diff --git a/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java b/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java index 19617f927..405e3c1e2 100644 --- a/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java +++ b/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java @@ -24,14 +24,14 @@ public class SampleConfiguration { @Bean public RepositoryFactoryBeanSupport, User, Long> userRepositoryFactory() { - return new DummyRepositoryFactoryBean, User, Long>(UserRepository.class); + return new DummyRepositoryFactoryBean<>(UserRepository.class); } @Bean public RepositoryFactoryBeanSupport, Product, Long> productRepositoryFactory( ProductRepository productRepository) { - DummyRepositoryFactoryBean, Product, Long> factory = new DummyRepositoryFactoryBean, Product, Long>( + DummyRepositoryFactoryBean, Product, Long> factory = new DummyRepositoryFactoryBean<>( ProductRepository.class); factory.setCustomImplementation(productRepository); diff --git a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java index 2837bc4b9..d7e9804ed 100755 --- a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java @@ -39,7 +39,6 @@ import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.query.Param; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.VerifyingMethodInterceptor; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.format.support.DefaultFormattingConversionService; diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java index 9acffa283..09aa7a66a 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java @@ -16,7 +16,6 @@ package org.springframework.data.repository.support; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.lang.reflect.Method; diff --git a/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java index 856059322..0ddf962d8 100755 --- a/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java @@ -29,7 +29,6 @@ import org.springframework.data.domain.Sort; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.VerifyingMethodInterceptor; import org.springframework.format.support.DefaultFormattingConversionService; /** diff --git a/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java index e9eca353b..f943b9827 100755 --- a/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java @@ -45,7 +45,6 @@ import org.springframework.data.repository.core.support.DefaultRepositoryMetadat import org.springframework.data.repository.query.Param; import org.springframework.data.repository.support.CrudRepositoryInvokerUnitTests.Person; import org.springframework.data.repository.support.CrudRepositoryInvokerUnitTests.PersonRepository; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.VerifyingMethodInterceptor; import org.springframework.format.support.DefaultFormattingConversionService; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -135,7 +134,7 @@ public class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 public void invokesQueryMethod() throws Exception { - MultiValueMap parameters = new LinkedMultiValueMap(); + MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("firstName", "John"); Method method = PersonRepository.class.getMethod("findByFirstName", String.class, Pageable.class); @@ -148,7 +147,7 @@ public class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 public void considersFormattingAnnotationsOnQueryMethodParameters() throws Exception { - MultiValueMap parameters = new LinkedMultiValueMap(); + MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("date", "2013-07-18T10:49:00.000+02:00"); Method method = PersonRepository.class.getMethod("findByCreatedUsingISO8601Date", Date.class, Pageable.class); @@ -208,7 +207,7 @@ public class ReflectionRepositoryInvokerUnitTests { for (String[] ids : Arrays.asList(new String[] { "1,2" }, new String[] { "1", "2" })) { - MultiValueMap parameters = new LinkedMultiValueMap(); + MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.put("ids", Arrays.asList(ids)); Method method = PersonRepository.class.getMethod("findByIdIn", Collection.class); @@ -224,7 +223,7 @@ public class ReflectionRepositoryInvokerUnitTests { RepositoryInvoker invoker = getInvokerFor(mock(SimpleRepository.class)); - MultiValueMap parameters = new LinkedMultiValueMap(); + MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("value", "value"); Method method = SimpleRepository.class.getMethod("findByClass", int.class); diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java index 3fa4f7ee3..bb36feeb8 100755 --- a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java @@ -116,7 +116,7 @@ public class RepositoriesUnitTests { public void discoversRepositoryForAlternativeDomainType() { RepositoryMetadata metadata = new CustomRepositoryMetadata(SampleRepository.class); - RepositoryFactoryInformation information = new SampleRepoFactoryInformation(metadata); + RepositoryFactoryInformation information = new SampleRepoFactoryInformation<>(metadata); GenericApplicationContext context = new GenericApplicationContext(); context.getBeanFactory().registerSingleton("foo", information); @@ -217,7 +217,7 @@ public class RepositoriesUnitTests { */ @Override public Set> getAlternativeDomainTypes() { - return Collections.>singleton(super.getDomainType()); + return Collections.singleton(super.getDomainType()); } } diff --git a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java b/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java index dc1444bc4..a2278be26 100755 --- a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java @@ -167,7 +167,7 @@ public class QueryExecutionConvertersUnitTests { @Test // DATACMNS-795 public void turnsNullIntoScalaOptionEmpty() { - assertThat(conversionService.convert(new NullableWrapper(null), Option.class)).isEqualTo(Option. empty()); + assertThat(conversionService.convert(new NullableWrapper(null), Option.class)).isEqualTo(Option.empty()); } @Test // DATACMNS-795 diff --git a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java index 5125a65e2..c8eb66da2 100755 --- a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java +++ b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java @@ -47,7 +47,7 @@ public class ChainedTransactionManagerTests { createAndCommitTransaction(); - assertThat(transactionManager).matches(tptm -> tptm.isCommitted()); + assertThat(transactionManager).matches(TestPlatformTransactionManager::isCommitted); } @Test @@ -56,7 +56,7 @@ public class ChainedTransactionManagerTests { setupTransactionManagers(createFailingTransactionManager("single")); assertThatExceptionOfType(HeuristicCompletionException.class)// - .isThrownBy(() -> createAndCommitTransaction())// + .isThrownBy(this::createAndCommitTransaction)// .matches(e -> e.getOutcomeState() == HeuristicCompletionException.STATE_ROLLED_BACK); } @@ -69,8 +69,8 @@ public class ChainedTransactionManagerTests { setupTransactionManagers(first, second); createAndCommitTransaction(); - assertThat(first).matches(ptm -> ptm.isCommitted()); - assertThat(second).matches(ptm -> ptm.isCommitted()); + assertThat(first).matches(TestPlatformTransactionManager::isCommitted); + assertThat(second).matches(TestPlatformTransactionManager::isCommitted); } @Test @@ -92,7 +92,7 @@ public class ChainedTransactionManagerTests { createNonFailingTransactionManager("second")); assertThatExceptionOfType(HeuristicCompletionException.class)// - .isThrownBy(() -> createAndCommitTransaction())// + .isThrownBy(this::createAndCommitTransaction)// .matches(e -> e.getOutcomeState() == HeuristicCompletionException.STATE_MIXED); } @@ -105,8 +105,8 @@ public class ChainedTransactionManagerTests { setupTransactionManagers(first, second); createAndRollbackTransaction(); - assertThat(first).matches(ptm -> ptm.wasRolledBack()); - assertThat(second).matches(ptm -> ptm.wasRolledBack()); + assertThat(first).matches(TestPlatformTransactionManager::wasRolledBack); + assertThat(second).matches(TestPlatformTransactionManager::wasRolledBack); } diff --git a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java b/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java index effe16661..94793afb6 100755 --- a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java +++ b/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java @@ -48,9 +48,9 @@ public class ClassTypeInformationUnitTests { OptionalAssert> assertThat = assertOptional(discoverer.getProperty("content")); - assertThat.value(it -> it.getType()).isEqualTo(String.class); - assertThat.flatMap(it -> it.getComponentType()).isNotPresent(); - assertThat.flatMap(it -> it.getMapValueType()).isNotPresent(); + assertThat.value(TypeInformation::getType).isEqualTo(String.class); + assertThat.flatMap(TypeInformation::getComponentType).isNotPresent(); + assertThat.flatMap(TypeInformation::getMapValueType).isNotPresent(); } @Test @@ -60,11 +60,11 @@ public class ClassTypeInformationUnitTests { assertThat(discoverer.getType()).isEqualTo(ConcreteWrapper.class); assertOptional(discoverer.getProperty("wrapped")).andAssert(inner -> { - inner.value(it -> it.getType()).isEqualTo(GenericType.class); - inner.flatMap(it -> it.getProperty("content")).value(it -> it.getType()).isEqualTo(String.class); + inner.value(TypeInformation::getType).isEqualTo(GenericType.class); + inner.flatMap(it -> it.getProperty("content")).value(TypeInformation::getType).isEqualTo(String.class); }); - assertOptional(discoverer.getProperty("wrapped.content")).value(it -> it.getType()).isEqualTo(String.class); + assertOptional(discoverer.getProperty("wrapped.content")).value(TypeInformation::getType).isEqualTo(String.class); } @Test @@ -72,7 +72,7 @@ public class ClassTypeInformationUnitTests { public void discoversBoundType() { TypeInformation information = ClassTypeInformation.from(GenericTypeWithBound.class); - assertOptional(information.getProperty("person")).value(it -> it.getType()).isEqualTo(Person.class); + assertOptional(information.getProperty("person")).value(TypeInformation::getType).isEqualTo(Person.class); } @Test @@ -80,7 +80,7 @@ public class ClassTypeInformationUnitTests { TypeInformation information = ClassTypeInformation .from(SpecialGenericTypeWithBound.class); - assertOptional(information.getProperty("person")).value(it -> it.getType()).isEqualTo(SpecialPerson.class); + assertOptional(information.getProperty("person")).value(TypeInformation::getType).isEqualTo(SpecialPerson.class); } @Test @@ -89,8 +89,8 @@ public class ClassTypeInformationUnitTests { TypeInformation information = ClassTypeInformation.from(AnotherGenericType.class); - assertOptional(information.getProperty("nested")).value(it -> it.getType()).isEqualTo(GenericTypeWithBound.class); - assertOptional(information.getProperty("nested.person")).value(it -> it.getType()).isEqualTo(Person.class); + assertOptional(information.getProperty("nested")).value(TypeInformation::getType).isEqualTo(GenericTypeWithBound.class); + assertOptional(information.getProperty("nested.person")).value(TypeInformation::getType).isEqualTo(Person.class); } @Test @@ -100,25 +100,25 @@ public class ClassTypeInformationUnitTests { OptionalAssert> optional = assertOptional(information.getProperty("array")); - optional.flatMap(it -> it.getComponentType()).value(it -> it.getType()).isEqualTo(String.class); - optional.value(it -> it.getType()).satisfies(it -> { + optional.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(String.class); + optional.value(TypeInformation::getType).satisfies(it -> { assertThat(it).isEqualTo(String[].class); assertThat(it.isArray()).isTrue(); }); optional = assertOptional(information.getProperty("foo")); - optional.value(it -> it.getType()).isEqualTo(Collection[].class); - optional.flatMap(it -> it.getComponentType()).andAssert(it -> { - it.value(inner -> inner.getType()).isEqualTo(Collection.class); - it.flatMap(inner -> inner.getComponentType()).value(inner -> inner.getType()).isEqualTo(String.class); + optional.value(TypeInformation::getType).isEqualTo(Collection[].class); + optional.flatMap(TypeInformation::getComponentType).andAssert(it -> { + it.value(TypeInformation::getType).isEqualTo(Collection.class); + it.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(String.class); }); optional = assertOptional(information.getProperty("rawSet")); - optional.value(it -> it.getType()).isEqualTo(Set.class); - optional.flatMap(it -> it.getComponentType()).value(it -> it.getType()).isEqualTo(Object.class); - optional.flatMap(it -> it.getMapValueType()).isNotPresent(); + optional.value(TypeInformation::getType).isEqualTo(Set.class); + optional.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(Object.class); + optional.flatMap(TypeInformation::getMapValueType).isNotPresent(); } @Test @@ -127,13 +127,13 @@ public class ClassTypeInformationUnitTests { TypeInformation information = ClassTypeInformation.from(StringMapContainer.class); OptionalAssert> assertion = assertOptional(information.getProperty("genericMap")); - assertion.value(it -> it.getType()).isEqualTo(Map.class); - assertion.flatMap(it -> it.getMapValueType()).value(it -> it.getType()).isEqualTo(String.class); + assertion.value(TypeInformation::getType).isEqualTo(Map.class); + assertion.flatMap(TypeInformation::getMapValueType).value(TypeInformation::getType).isEqualTo(String.class); assertion = assertOptional(information.getProperty("map")); - assertion.value(it -> it.getType()).isEqualTo(Map.class); - assertion.flatMap(it -> it.getMapValueType()).value(it -> it.getType()).isEqualTo(Calendar.class); + assertion.value(TypeInformation::getType).isEqualTo(Map.class); + assertion.flatMap(TypeInformation::getMapValueType).value(TypeInformation::getType).isEqualTo(Calendar.class); } @Test @@ -150,8 +150,8 @@ public class ClassTypeInformationUnitTests { TypeInformation from = ClassTypeInformation.from(PropertyGetter.class); - assertOptional(from.getProperty("_name")).value(it -> it.getType()).isEqualTo(String.class); - assertOptional(from.getProperty("name")).value(it -> it.getType()).isEqualTo(byte[].class); + assertOptional(from.getProperty("_name")).value(TypeInformation::getType).isEqualTo(String.class); + assertOptional(from.getProperty("name")).value(TypeInformation::getType).isEqualTo(byte[].class); } @Test // DATACMNS-77 @@ -168,15 +168,15 @@ public class ClassTypeInformationUnitTests { OptionalAssert> assertion = assertOptional(information.getProperty("wildcard")); - assertion.value(it -> it.isCollectionLike()).isEqualTo(true); - assertion.flatMap(it -> it.getComponentType()).value(it -> it.getType()).isEqualTo(String.class); + assertion.value(TypeInformation::isCollectionLike).isEqualTo(true); + assertion.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(String.class); assertion = assertOptional(information.getProperty("complexWildcard")); - assertion.value(it -> it.isCollectionLike()).isEqualTo(true); - assertion.flatMap(it -> it.getComponentType()).andAssert(it -> { - it.value(inner -> inner.isCollectionLike()).isEqualTo(true); - it.flatMap(inner -> inner.getComponentType()).value(inner -> inner.getType()).isEqualTo(String.class); + assertion.value(TypeInformation::isCollectionLike).isEqualTo(true); + assertion.flatMap(TypeInformation::getComponentType).andAssert(it -> { + it.value(TypeInformation::isCollectionLike).isEqualTo(true); + it.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(String.class); }); } @@ -266,7 +266,7 @@ public class ClassTypeInformationUnitTests { TypeInformation information = from(String[][].class); assertThat(information.getType()).isEqualTo(String[][].class); - assertOptional(information.getComponentType()).value(it -> it.getType()).isEqualTo(String[].class); + assertOptional(information.getComponentType()).value(TypeInformation::getType).isEqualTo(String[].class); assertThat(information.getActualType().getActualType().getType()).isEqualTo(String.class); } @@ -299,17 +299,17 @@ public class ClassTypeInformationUnitTests { assertion// // Type - .andAssert(inner -> inner.value(it -> it.getType()).isEqualTo(SortedMap.class))// + .andAssert(inner -> inner.value(TypeInformation::getType).isEqualTo(SortedMap.class))// // Map value type - .andAssert(inner -> inner.flatMap(it -> it.getMapValueType()).andAssert(value -> { - value.value(it -> it.getType()).isEqualTo(SortedMap.class); - value.flatMap(it -> it.getComponentType()).value(it -> it.getType()).isEqualTo(String.class); + .andAssert(inner -> inner.flatMap(TypeInformation::getMapValueType).andAssert(value -> { + value.value(TypeInformation::getType).isEqualTo(SortedMap.class); + value.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(String.class); // Nested value type - }).flatMap(it -> it.getMapValueType()).andAssert(nestedValue -> { - nestedValue.value(it -> it.getType()).isEqualTo(List.class); - nestedValue.flatMap(it -> it.getComponentType()).value(it -> it.getType()).isEqualTo(Person.class); + }).flatMap(TypeInformation::getMapValueType).andAssert(nestedValue -> { + nestedValue.value(TypeInformation::getType).isEqualTo(List.class); + nestedValue.flatMap(TypeInformation::getComponentType).value(TypeInformation::getType).isEqualTo(Person.class); })); } @@ -325,9 +325,9 @@ public class ClassTypeInformationUnitTests { ClassTypeInformation rootType = from(ConcreteRoot.class); assertOptional(rootType.getProperty("subs"))// - .map(it -> it.getActualType())// + .map(TypeInformation::getActualType)// .flatMap(it -> it.getProperty("subSub"))// - .value(it -> it.getType()).isEqualTo(ConcreteSubSub.class); + .value(TypeInformation::getType).isEqualTo(ConcreteSubSub.class); } @Test // DATACMNS-594 @@ -335,7 +335,7 @@ public class ClassTypeInformationUnitTests { assertOptional(ClassTypeInformation.from(ConcreteRootIntermediate.class) .getProperty("intermediate.content.intermediate.content"))// - .value(it -> it.getType()).isEqualTo(Leaf.class); + .value(TypeInformation::getType).isEqualTo(Leaf.class); } @Test // DATACMNS-783, DATACMNS-853 @@ -346,9 +346,9 @@ public class ClassTypeInformationUnitTests { assertOptional(root.getProperty("abstractBar"))// .map(it -> it.specialize(ClassTypeInformation.from(Bar.class)))// .andAssert(inner -> { - inner.value(it -> it.getType()).isEqualTo(Bar.class); - inner.flatMap(it -> it.getProperty("field")).value(it -> it.getType()).isEqualTo(Character.class); - inner.flatMap(it -> it.getProperty("anotherField")).value(it -> it.getType()).isEqualTo(Integer.class); + inner.value(TypeInformation::getType).isEqualTo(Bar.class); + inner.flatMap(it -> it.getProperty("field")).value(TypeInformation::getType).isEqualTo(Character.class); + inner.flatMap(it -> it.getProperty("anotherField")).value(TypeInformation::getType).isEqualTo(Integer.class); }); } @@ -385,7 +385,7 @@ public class ClassTypeInformationUnitTests { ClassTypeInformation information = ClassTypeInformation.from(Concrete.class); - assertOptional(information.getProperty("field")).value(it -> it.getType()).isEqualTo(Nested.class); + assertOptional(information.getProperty("field")).value(TypeInformation::getType).isEqualTo(Nested.class); } @Test // DATACMNS-940 @@ -393,9 +393,7 @@ public class ClassTypeInformationUnitTests { ClassTypeInformation information = ClassTypeInformation.from(SampleTraversable.class); - assertThat(information.getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isAssignableFrom(Integer.class); - }); + assertThat(information.getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isAssignableFrom(Integer.class)); } @Test // DATACMNS-940 @@ -403,13 +401,9 @@ public class ClassTypeInformationUnitTests { ClassTypeInformation information = ClassTypeInformation.from(SampleMap.class); - assertThat(information.getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isAssignableFrom(String.class); - }); + assertThat(information.getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isAssignableFrom(String.class)); - assertThat(information.getMapValueType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isAssignableFrom(Integer.class); - }); + assertThat(information.getMapValueType()).hasValueSatisfying(it -> assertThat(it.getType()).isAssignableFrom(Integer.class)); } static class StringMapContainer extends MapContainer { diff --git a/src/test/java/org/springframework/data/util/DataCmns511Tests.java b/src/test/java/org/springframework/data/util/DataCmns511Tests.java index 015fe7134..70ed8eabd 100755 --- a/src/test/java/org/springframework/data/util/DataCmns511Tests.java +++ b/src/test/java/org/springframework/data/util/DataCmns511Tests.java @@ -37,16 +37,16 @@ public class DataCmns511Tests { ClassTypeInformation.from(AbstractRole.class).getProperty("createdBy")); assertion.flatMap(it -> it.getProperty("roles"))// - .map(it -> it.getActualType())// + .map(TypeInformation::getActualType)// .flatMap(it -> it.getProperty("createdBy"))// .andAssert(second -> { OptionalAssert> third = second.flatMap(it -> it.getProperty("roles"))// - .map(it -> it.getActualType())// + .map(TypeInformation::getActualType)// .flatMap(it -> it.getProperty("createdBy")); second.isEqualTo(third); - second.value(it -> it.hashCode()).isEqualTo(third.getActual().hashCode()); + second.value(Object::hashCode).isEqualTo(third.getActual().hashCode()); }); } diff --git a/src/test/java/org/springframework/data/util/OptionalAssert.java b/src/test/java/org/springframework/data/util/OptionalAssert.java index a1f59b7fe..3b58f0338 100644 --- a/src/test/java/org/springframework/data/util/OptionalAssert.java +++ b/src/test/java/org/springframework/data/util/OptionalAssert.java @@ -35,7 +35,7 @@ public class OptionalAssert extends org.assertj.core.api.OptionalAssert { } public static OptionalAssert assertOptional(Optional optional) { - return new OptionalAssert(optional); + return new OptionalAssert<>(optional); } public Optional getActual() { @@ -60,7 +60,7 @@ public class OptionalAssert extends org.assertj.core.api.OptionalAssert { Assertions.assertThat(actual).isPresent(); - return Assertions.assertThat(actual.map(function).orElseThrow(() -> new IllegalStateException())); + return Assertions.assertThat(actual.map(function).orElseThrow(IllegalStateException::new)); } public OptionalAssert isEqualTo(OptionalAssert other) { diff --git a/src/test/java/org/springframework/data/util/ParameterizedTypeUnitTests.java b/src/test/java/org/springframework/data/util/ParameterizedTypeUnitTests.java index 744826ac9..b60da8e0d 100755 --- a/src/test/java/org/springframework/data/util/ParameterizedTypeUnitTests.java +++ b/src/test/java/org/springframework/data/util/ParameterizedTypeUnitTests.java @@ -85,19 +85,19 @@ public class ParameterizedTypeUnitTests { OptionalAssert> assertion = assertOptional(propertyType); - assertion.flatMap(it -> it.getProperty("value")).value(it -> it.getType()).isEqualTo(String.class); - assertion.flatMap(it -> it.getMapValueType()).value(it -> it.getType()).isEqualTo(String.class); + assertion.flatMap(it -> it.getProperty("value")).value(TypeInformation::getType).isEqualTo(String.class); + assertion.flatMap(TypeInformation::getMapValueType).value(TypeInformation::getType).isEqualTo(String.class); propertyType = type.getProperty("param2"); - assertion.flatMap(it -> it.getProperty("value")).value(it -> it.getType()).isEqualTo(String.class); - assertion.flatMap(it -> it.getMapValueType()).value(it -> it.getType()).isEqualTo(String.class); + assertion.flatMap(it -> it.getProperty("value")).value(TypeInformation::getType).isEqualTo(String.class); + assertion.flatMap(TypeInformation::getMapValueType).value(TypeInformation::getType).isEqualTo(String.class); } @Test // DATACMNS-446 public void createsToStringRepresentation() { - assertOptional(from(Foo.class).getProperty("param")).value(it -> it.toString()) + assertOptional(from(Foo.class).getProperty("param")).value(Object::toString) .isEqualTo("org.springframework.data.util.ParameterizedTypeUnitTests$Localized"); } @@ -110,11 +110,7 @@ public class ParameterizedTypeUnitTests { assertThat(first).isEqualTo(second); - assertThat(first).hasValueSatisfying(left -> { - assertThat(second).hasValueSatisfying(right -> { - assertThat(left.hashCode()).isEqualTo(right.hashCode()); - }); - }); + assertThat(first).hasValueSatisfying(left -> assertThat(second).hasValueSatisfying(right -> assertThat(left.hashCode()).isEqualTo(right.hashCode()))); } @Test // DATACMNS-485 @@ -123,7 +119,7 @@ public class ParameterizedTypeUnitTests { Optional> type = from(First.class).getProperty("property"); - assertOptional(type).map(it -> it.getActualType()).isEqualTo(type); + assertOptional(type).map(TypeInformation::getActualType).isEqualTo(type); } @Test // DATACMNS-697 @@ -132,9 +128,9 @@ public class ParameterizedTypeUnitTests { TypeInformation information = ClassTypeInformation.from(NormalizedProfile.class); assertOptional(information.getProperty("education2.data"))// - .flatMap(it -> it.getComponentType())// + .flatMap(TypeInformation::getComponentType)// .flatMap(it -> it.getProperty("value"))// - .value(it -> it.getType())// + .value(TypeInformation::getType)// .isEqualTo(Education.class); } @@ -145,7 +141,7 @@ public class ParameterizedTypeUnitTests { ClassTypeInformation.from(Bar.class).getProperty("param")); assertion.hasValueSatisfying(it -> assertThat(it).isInstanceOf(ParameterizedTypeInformation.class)); - assertion.flatMap(it -> it.getMapValueType()).isEmpty(); + assertion.flatMap(TypeInformation::getMapValueType).isEmpty(); } @SuppressWarnings("serial") diff --git a/src/test/java/org/springframework/data/util/StreamUtilsTests.java b/src/test/java/org/springframework/data/util/StreamUtilsTests.java index 4b4483e91..996644467 100755 --- a/src/test/java/org/springframework/data/util/StreamUtilsTests.java +++ b/src/test/java/org/springframework/data/util/StreamUtilsTests.java @@ -38,7 +38,7 @@ public class StreamUtilsTests { List input = Arrays.asList("a", "b", "c"); Stream stream = createStreamFromIterator(input.iterator()); - List output = stream.collect(Collectors. toList()); + List output = stream.collect(Collectors.toList()); assertThat(input).isEqualTo(output); } diff --git a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java b/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java index 6049c7f16..ecc5e047d 100755 --- a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java +++ b/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java @@ -75,9 +75,9 @@ public class TypeDiscovererUnitTests { public void dealsWithTypesReferencingThemselves() { TypeInformation information = from(SelfReferencing.class); - Optional> first = information.getProperty("parent").flatMap(it -> it.getMapValueType()); + Optional> first = information.getProperty("parent").flatMap(TypeInformation::getMapValueType); Optional> second = first.flatMap(it -> it.getProperty("map")) - .flatMap(it -> it.getMapValueType()); + .flatMap(TypeInformation::getMapValueType); assertThat(second).isEqualTo(first); } @@ -88,9 +88,7 @@ public class TypeDiscovererUnitTests { TypeInformation information = from(SelfReferencingMap.class); Optional> property = information.getProperty("map"); - assertThat(property).hasValueSatisfying(it -> { - assertThat(it.getMapValueType()).hasValue(information); - }); + assertThat(property).hasValueSatisfying(it -> assertThat(it.getMapValueType()).hasValue(information)); } @Test @@ -98,13 +96,9 @@ public class TypeDiscovererUnitTests { TypeInformation discoverer = new TypeDiscoverer<>(CustomMap.class, EMPTY_MAP); - assertThat(discoverer.getMapValueType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isEqualTo(Locale.class); - }); + assertThat(discoverer.getMapValueType()).hasValueSatisfying(it -> assertThat(it.getType()).isEqualTo(Locale.class)); - assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isEqualTo(String.class); - }); + assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isEqualTo(String.class)); } @Test @@ -112,19 +106,15 @@ public class TypeDiscovererUnitTests { TypeDiscoverer discoverer = new TypeDiscoverer<>(CustomCollection.class, firstMap); - assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isEqualTo(String.class); - }); + assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isEqualTo(String.class)); } @Test public void returnsComponentTypeForArrays() { - TypeDiscoverer discoverer = new TypeDiscoverer(String[].class, EMPTY_MAP); + TypeDiscoverer discoverer = new TypeDiscoverer<>(String[].class, EMPTY_MAP); - assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isEqualTo(String.class); - }); + assertThat(discoverer.getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isEqualTo(String.class)); } @Test // DATACMNS-57 @@ -137,9 +127,7 @@ public class TypeDiscovererUnitTests { assertThat(types).hasSize(2); assertThat(types.get(0).getType()).isEqualTo(List.class); - assertThat(types.get(0).getComponentType()).hasValueSatisfying(it -> { - assertThat(it.getType()).isEqualTo(String.class); - }); + assertThat(types.get(0).getComponentType()).hasValueSatisfying(it -> assertThat(it.getType()).isEqualTo(String.class)); } @Test diff --git a/src/test/java/org/springframework/data/util/TypeInformationAssert.java b/src/test/java/org/springframework/data/util/TypeInformationAssert.java index 0946b0256..e7f48116f 100644 --- a/src/test/java/org/springframework/data/util/TypeInformationAssert.java +++ b/src/test/java/org/springframework/data/util/TypeInformationAssert.java @@ -22,9 +22,7 @@ public class TypeInformationAssert extends AbstractAssert type) { - Assertions.assertThat(actual.getComponentType()).hasValueSatisfying(it -> { - Assertions.assertThat(it.getType()).isEqualTo(type); - }); + Assertions.assertThat(actual.getComponentType()).hasValueSatisfying(it -> Assertions.assertThat(it.getType()).isEqualTo(type)); return this; } diff --git a/src/test/java/org/springframework/data/util/VersionUnitTests.java b/src/test/java/org/springframework/data/util/VersionUnitTests.java index 4fc691756..14e532af2 100755 --- a/src/test/java/org/springframework/data/util/VersionUnitTests.java +++ b/src/test/java/org/springframework/data/util/VersionUnitTests.java @@ -157,7 +157,7 @@ public class VersionUnitTests { public void rejectsNonNumericPartOnNonLastPosition() { exception.expect(IllegalArgumentException.class); - exception.expectCause(Matchers. instanceOf(IllegalArgumentException.class)); + exception.expectCause(Matchers.instanceOf(IllegalArgumentException.class)); exception.expectMessage("1.RELEASE.2"); Version.parse("1.RELEASE.2"); diff --git a/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java b/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java index 58b1e3f33..2b82b84b0 100755 --- a/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java +++ b/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java @@ -49,7 +49,7 @@ public class MapDataBinderUnitTests { MutablePropertyValues values = new MutablePropertyValues(); values.add("foo.date", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(reference)); - Map nested = new HashMap(); + Map nested = new HashMap<>(); nested.put("date", reference); assertThat(bind(values)).containsEntry("foo", nested); @@ -67,7 +67,7 @@ public class MapDataBinderUnitTests { List list = new ArrayList<>(); list.add("String"); - assertThat(result).isEqualTo((Map) singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list)))); + assertThat(result).isEqualTo(singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list)))); } @Test // DATACMNS-630 @@ -80,11 +80,11 @@ public class MapDataBinderUnitTests { Map result = bind(values); - Map dave = new HashMap(); + Map dave = new HashMap<>(); dave.put("firstname", "Dave"); dave.put("lastname", "Matthews"); - assertThat(result).isEqualTo((Map) singletonMap("foo", dave)); + assertThat(result).isEqualTo(singletonMap("foo", dave)); } @Test // DATACMNS-630 diff --git a/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java b/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java index 06f5990b2..6c2cef895 100755 --- a/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java +++ b/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java @@ -69,7 +69,7 @@ public abstract class PageableDefaultUnitTests { @Test public void returnsDefaultIfNoRequestParametersAndNoDefault() throws Exception { - assertSupportedAndResult(getParameterOfMethod("supportedMethod"), (Pageable) ReflectionTestUtils + assertSupportedAndResult(getParameterOfMethod("supportedMethod"), ReflectionTestUtils .invokeMethod(ReflectionTestUtils.getField(getResolver(), "fallbackPageable"), "get")); } diff --git a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java index dcf4fe1b1..9274ce45b 100755 --- a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java +++ b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java @@ -253,7 +253,7 @@ public class PagedResourcesAssemblerUnitTests { Person person = new Person(); person.name = "Dave"; - return new PageImpl<>(Arrays.asList(person), request, 3); + return new PageImpl<>(Collections.singletonList(person), request, 3); } private static Map getQueryParameters(Link link) { diff --git a/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java b/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java index e66c051f6..5cebdada5 100755 --- a/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java +++ b/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java @@ -18,6 +18,7 @@ package org.springframework.data.web.config; import static org.assertj.core.api.Assertions.*; import java.util.Arrays; +import java.util.Collections; import org.junit.Before; import org.junit.Test; @@ -99,7 +100,7 @@ public class PageableResourcesAssemblerIntegrationTests { @RequestMapping("/persons") PagedResources> sample(Pageable pageable) { - Page page = new PageImpl<>(Arrays.asList(new Person()), pageable, + Page page = new PageImpl<>(Collections.singletonList(new Person()), pageable, pageable.getOffset() + pageable.getPageSize() + 1); return assembler.toResource(page); diff --git a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java index 5dbaf0970..5d6b3e9de 100755 --- a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java @@ -97,7 +97,7 @@ public class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("firstname", "rand"); - Predicate predicate = (BooleanExpression) resolver.resolveArgument( + Predicate predicate = resolver.resolveArgument( getMethodParameterFor("simpleFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo((Predicate) QUser.user.firstname.eq("rand")); @@ -157,7 +157,7 @@ public class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("inceptionYear", "978"); - Predicate predicate = (BooleanExpression) resolver.resolveArgument( + Predicate predicate = resolver.resolveArgument( getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo((Predicate) QUser.user.inceptionYear.eq(978L)); @@ -168,7 +168,7 @@ public class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("inceptionYear", new String[] { "978", "998" }); - Predicate predicate = (BooleanExpression) resolver.resolveArgument( + Predicate predicate = resolver.resolveArgument( getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo((Predicate) QUser.user.inceptionYear.in(978L, 998L));