Skip to content

Commit cd5b4e7

Browse files
committed
Polishing.
See #3134
1 parent b97efc9 commit cd5b4e7

File tree

11 files changed

+60
-44
lines changed

11 files changed

+60
-44
lines changed

spring-data-envers/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java

+26-24
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@
1515
*/
1616
package org.springframework.data.envers.repository.support;
1717

18+
import static org.springframework.data.history.RevisionMetadata.RevisionType.*;
19+
1820
import jakarta.persistence.EntityManager;
21+
22+
import java.util.ArrayList;
23+
import java.util.Collections;
24+
import java.util.List;
25+
import java.util.Optional;
26+
1927
import org.hibernate.Hibernate;
2028
import org.hibernate.envers.AuditReader;
2129
import org.hibernate.envers.AuditReaderFactory;
@@ -43,13 +51,6 @@
4351
import org.springframework.transaction.annotation.Transactional;
4452
import org.springframework.util.Assert;
4553

46-
import java.util.ArrayList;
47-
import java.util.Collections;
48-
import java.util.List;
49-
import java.util.Optional;
50-
51-
import static org.springframework.data.history.RevisionMetadata.RevisionType.*;
52-
5354
/**
5455
* Repository implementation using Hibernate Envers to implement revision specific query methods.
5556
*
@@ -61,6 +62,8 @@
6162
* @author Mark Paluch
6263
* @author Sander Bylemans
6364
* @author Niklas Loechte
65+
* @author Donghun Shin
66+
* @author Greg Turnquist
6467
*/
6568
@Transactional(readOnly = true)
6669
public class EnversRevisionRepositoryImpl<T, ID, N extends Number & Comparable<N>>
@@ -73,12 +76,12 @@ public class EnversRevisionRepositoryImpl<T, ID, N extends Number & Comparable<N
7376
* Creates a new {@link EnversRevisionRepositoryImpl} using the given {@link JpaEntityInformation},
7477
* {@link RevisionEntityInformation} and {@link EntityManager}.
7578
*
76-
* @param entityInformation must not be {@literal null}.
79+
* @param entityInformation must not be {@literal null}.
7780
* @param revisionEntityInformation must not be {@literal null}.
78-
* @param entityManager must not be {@literal null}.
81+
* @param entityManager must not be {@literal null}.
7982
*/
8083
public EnversRevisionRepositoryImpl(JpaEntityInformation<T, ?> entityInformation,
81-
RevisionEntityInformation revisionEntityInformation, EntityManager entityManager) {
84+
RevisionEntityInformation revisionEntityInformation, EntityManager entityManager) {
8285

8386
Assert.notNull(revisionEntityInformation, "RevisionEntityInformation must not be null!");
8487

@@ -136,7 +139,6 @@ public Revisions<N, T> findRevisions(ID id) {
136139
return Revisions.of(revisionList);
137140
}
138141

139-
140142
private AuditOrder mapRevisionSort(RevisionSort revisionSort) {
141143

142144
return RevisionSort.getRevisionDirection(revisionSort).isDescending() //
@@ -154,9 +156,9 @@ private List<AuditOrder> mapPropertySort(Sort sort) {
154156
for (Sort.Order order : sort) {
155157

156158
AuditProperty<Object> property = AuditEntity.property(order.getProperty());
157-
AuditOrder auditOrder = order.getDirection().isAscending() ?
158-
property.asc() :
159-
property.desc();
159+
AuditOrder auditOrder = order.getDirection().isAscending() //
160+
? property.asc() //
161+
: property.desc();
160162

161163
result.add(auditOrder);
162164
}
@@ -169,9 +171,9 @@ public Page<Revision<N, T>> findRevisions(ID id, Pageable pageable) {
169171

170172
AuditQuery baseQuery = createBaseQuery(id);
171173

172-
List<AuditOrder> orderMapped = (pageable.getSort() instanceof RevisionSort revisionSort) ?
173-
Collections.singletonList(mapRevisionSort(revisionSort)) :
174-
mapPropertySort(pageable.getSort());
174+
List<AuditOrder> orderMapped = (pageable.getSort()instanceof RevisionSort revisionSort)
175+
? List.of(mapRevisionSort(revisionSort))
176+
: mapPropertySort(pageable.getSort());
175177

176178
orderMapped.forEach(baseQuery::addOrder);
177179

@@ -235,17 +237,17 @@ RevisionMetadata<?> createRevisionMetadata() {
235237
return metadata instanceof DefaultRevisionEntity defaultRevisionEntity //
236238
? new DefaultRevisionMetadata(defaultRevisionEntity, revisionType) //
237239
: new AnnotationRevisionMetadata<>(Hibernate.unproxy(metadata), RevisionNumber.class, RevisionTimestamp.class,
238-
revisionType);
240+
revisionType);
239241
}
240242

241243
private static RevisionMetadata.RevisionType convertRevisionType(RevisionType datum) {
242244

243-
return switch (datum) {
244-
case ADD -> INSERT;
245-
case MOD -> UPDATE;
246-
case DEL -> DELETE;
247-
default -> UNKNOWN;
248-
};
245+
return switch (datum) {
246+
case ADD -> INSERT;
247+
case MOD -> UPDATE;
248+
case DEL -> DELETE;
249+
default -> UNKNOWN;
250+
};
249251
}
250252
}
251253

spring-data-jpa/src/main/java/org/springframework/data/jpa/provider/HibernateUtils.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
* @author Oliver Gierke
2727
* @author Mark Paluch
2828
* @author Jens Schauder
29+
* @author Donghun Shin
30+
* @author Greg Turnquist
2931
* @since 1.10.2
3032
* @soundtrack Benny Greb - Soulfood (Live, https://www.youtube.com/watch?v=9_ErMa_CtSw)
3133
*/
@@ -54,8 +56,8 @@ public static String getHibernateQuery(Object query) {
5456

5557
// Try the old way, as it still works in some cases (haven't investigated in which exactly)
5658

57-
if (query instanceof Query) {
58-
return ((Query<?>) query).getQueryString();
59+
if (query instanceof Query<?> hibernateQuery) {
60+
return hibernateQuery.getQueryString();
5961
} else {
6062
throw new IllegalArgumentException("Don't know how to extract the query string from " + query);
6163
}

spring-data-jpa/src/main/java/org/springframework/data/jpa/provider/JpaClassUtils.java

+5-6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
* @author Oliver Gierke
2929
* @author Christoph Strobl
3030
* @author Jens Schauder
31+
* @author Donghun Shin
32+
* @author Greg Turnquist
3133
*/
3234
abstract class JpaClassUtils {
3335

@@ -45,12 +47,9 @@ private JpaClassUtils() {}
4547
*/
4648
public static boolean isEntityManagerOfType(EntityManager em, String type) {
4749

48-
EntityManager entityManagerToUse = em;
49-
Object delegate = em.getDelegate();
50-
51-
if (delegate instanceof EntityManager delegateEntityManager) {
52-
entityManagerToUse = delegateEntityManager;
53-
}
50+
EntityManager entityManagerToUse = em.getDelegate()instanceof EntityManager delegate //
51+
? delegate //
52+
: em;
5453

5554
return isOfType(entityManagerToUse, type, entityManagerToUse.getClass().getClassLoader());
5655
}

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/cdi/JpaRepositoryExtension.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
*/
1616
package org.springframework.data.jpa.repository.cdi;
1717

18+
import jakarta.enterprise.event.Observes;
19+
import jakarta.enterprise.inject.UnsatisfiedResolutionException;
20+
import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
21+
import jakarta.enterprise.inject.spi.Bean;
22+
import jakarta.enterprise.inject.spi.BeanManager;
23+
import jakarta.enterprise.inject.spi.ProcessBean;
24+
import jakarta.persistence.EntityManager;
25+
1826
import java.lang.annotation.Annotation;
1927
import java.lang.reflect.Type;
2028
import java.util.HashMap;
@@ -24,14 +32,6 @@
2432
import java.util.Optional;
2533
import java.util.Set;
2634

27-
import jakarta.enterprise.event.Observes;
28-
import jakarta.enterprise.inject.UnsatisfiedResolutionException;
29-
import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
30-
import jakarta.enterprise.inject.spi.Bean;
31-
import jakarta.enterprise.inject.spi.BeanManager;
32-
import jakarta.enterprise.inject.spi.ProcessBean;
33-
import jakarta.persistence.EntityManager;
34-
3535
import org.apache.commons.logging.Log;
3636
import org.apache.commons.logging.LogFactory;
3737
import org.springframework.data.repository.cdi.CdiRepositoryBean;
@@ -44,6 +44,7 @@
4444
* @author Oliver Gierke
4545
* @author Mark Paluch
4646
* @author Christoph Strobl
47+
* @author Donghun Shin
4748
*/
4849
public class JpaRepositoryExtension extends CdiRepositoryExtensionSupport {
4950

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaQueryTransformerSupport.java

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
* Transformational operations needed to support either {@link HqlQueryTransformer} or {@link JpqlQueryTransformer}.
1919
*
2020
* @author Greg Turnquist
21+
* @author Donghun Shin
2122
* @since 3.1
2223
*/
2324
class JpaQueryTransformerSupport {

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/Meta.java

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
* Value object to hold metadata about repository methods.
2828
*
2929
* @author Greg Turnquist
30+
* @author Donghun Shin
3031
* @since 3.0
3132
* @see org.springframework.data.jpa.repository.Meta
3233
*/

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/ParameterMetadataProvider.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@
1818
import jakarta.persistence.criteria.CriteriaBuilder;
1919
import jakarta.persistence.criteria.ParameterExpression;
2020

21-
import java.util.*;
21+
import java.util.ArrayList;
22+
import java.util.Arrays;
23+
import java.util.Collection;
24+
import java.util.Collections;
25+
import java.util.Iterator;
26+
import java.util.List;
2227
import java.util.function.Supplier;
2328
import java.util.stream.Collectors;
2429

@@ -46,6 +51,8 @@
4651
* @author Jens Schauder
4752
* @author Andrey Kovalev
4853
* @author Yuriy Tsarkov
54+
* @author Donghun Shin
55+
* @author Greg Turnquist
4956
*/
5057
class ParameterMetadataProvider {
5158

@@ -275,7 +282,6 @@ private static Collection<?> toCollection(@Nullable Object value) {
275282
}
276283

277284
if (value instanceof Collection<?> collection) {
278-
279285
return collection.isEmpty() ? null : collection;
280286
}
281287

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryUtils.java

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
* @author Simon Paradies
8181
* @author Vladislav Yukharin
8282
* @author Chris Fraser
83+
* @author Donghun Shin
8384
*/
8485
public abstract class QueryUtils {
8586

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/EntityManagerBeanDefinitionRegistrarPostProcessor.java

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
* @author Oliver Gierke
4444
* @author Réda Housni Alaoui
4545
* @author Mark Paluch
46+
* @author Donghun Shin
4647
*/
4748
public class EntityManagerBeanDefinitionRegistrarPostProcessor implements BeanFactoryPostProcessor, Ordered {
4849

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* @author Mark Paluch
4949
* @author Christoph Strobl
5050
* @author Marcus Voltolim
51+
* @author Donghun Shin
5152
*/
5253
public class Querydsl {
5354

spring-data-jpa/src/main/java/org/springframework/data/jpa/util/BeanDefinitionUtils.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
import static java.util.Arrays.*;
1919
import static org.springframework.beans.factory.BeanFactoryUtils.*;
2020

21+
import jakarta.persistence.EntityManagerFactory;
22+
2123
import java.util.ArrayList;
2224
import java.util.Collection;
2325
import java.util.Collections;
2426
import java.util.HashSet;
2527
import java.util.List;
2628
import java.util.Set;
2729

28-
import jakarta.persistence.EntityManagerFactory;
29-
3030
import org.springframework.beans.factory.BeanFactory;
3131
import org.springframework.beans.factory.ListableBeanFactory;
3232
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
@@ -43,6 +43,7 @@
4343
*
4444
* @author Oliver Gierke
4545
* @author Mark Paluch
46+
* @author Donghun Shin
4647
*/
4748
public final class BeanDefinitionUtils {
4849

0 commit comments

Comments
 (0)