Replace relevant code with lambda
See gh-1454
This commit is contained in:
@@ -384,12 +384,8 @@ public class LocalSessionFactoryBuilder extends Configuration {
|
||||
private final Future<SessionFactory> sessionFactoryFuture;
|
||||
|
||||
public BootstrapSessionFactoryInvocationHandler(AsyncTaskExecutor bootstrapExecutor) {
|
||||
this.sessionFactoryFuture = bootstrapExecutor.submit(new Callable<SessionFactory>() {
|
||||
@Override
|
||||
public SessionFactory call() throws Exception {
|
||||
return buildSessionFactory();
|
||||
}
|
||||
});
|
||||
this.sessionFactoryFuture = bootstrapExecutor.submit(
|
||||
(Callable<SessionFactory>) LocalSessionFactoryBuilder.this::buildSessionFactory);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -350,12 +350,7 @@ public abstract class AbstractEntityManagerFactoryBean implements
|
||||
}
|
||||
|
||||
if (this.bootstrapExecutor != null) {
|
||||
this.nativeEntityManagerFactoryFuture = this.bootstrapExecutor.submit(new Callable<EntityManagerFactory>() {
|
||||
@Override
|
||||
public EntityManagerFactory call() {
|
||||
return buildNativeEntityManagerFactory();
|
||||
}
|
||||
});
|
||||
this.nativeEntityManagerFactoryFuture = this.bootstrapExecutor.submit(this::buildNativeEntityManagerFactory);
|
||||
}
|
||||
else {
|
||||
this.nativeEntityManagerFactory = buildNativeEntityManagerFactory();
|
||||
|
||||
@@ -404,38 +404,32 @@ public class PersistenceAnnotationBeanPostProcessor
|
||||
final LinkedList<InjectionMetadata.InjectedElement> currElements =
|
||||
new LinkedList<>();
|
||||
|
||||
ReflectionUtils.doWithLocalFields(targetClass, new ReflectionUtils.FieldCallback() {
|
||||
@Override
|
||||
public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {
|
||||
if (field.isAnnotationPresent(PersistenceContext.class) ||
|
||||
field.isAnnotationPresent(PersistenceUnit.class)) {
|
||||
if (Modifier.isStatic(field.getModifiers())) {
|
||||
throw new IllegalStateException("Persistence annotations are not supported on static fields");
|
||||
}
|
||||
currElements.add(new PersistenceElement(field, field, null));
|
||||
ReflectionUtils.doWithLocalFields(targetClass, field -> {
|
||||
if (field.isAnnotationPresent(PersistenceContext.class) ||
|
||||
field.isAnnotationPresent(PersistenceUnit.class)) {
|
||||
if (Modifier.isStatic(field.getModifiers())) {
|
||||
throw new IllegalStateException("Persistence annotations are not supported on static fields");
|
||||
}
|
||||
currElements.add(new PersistenceElement(field, field, null));
|
||||
}
|
||||
});
|
||||
|
||||
ReflectionUtils.doWithLocalMethods(targetClass, new ReflectionUtils.MethodCallback() {
|
||||
@Override
|
||||
public void doWith(Method method) throws IllegalArgumentException, IllegalAccessException {
|
||||
Method bridgedMethod = BridgeMethodResolver.findBridgedMethod(method);
|
||||
if (!BridgeMethodResolver.isVisibilityBridgeMethodPair(method, bridgedMethod)) {
|
||||
return;
|
||||
ReflectionUtils.doWithLocalMethods(targetClass, method -> {
|
||||
Method bridgedMethod = BridgeMethodResolver.findBridgedMethod(method);
|
||||
if (!BridgeMethodResolver.isVisibilityBridgeMethodPair(method, bridgedMethod)) {
|
||||
return;
|
||||
}
|
||||
if ((bridgedMethod.isAnnotationPresent(PersistenceContext.class) ||
|
||||
bridgedMethod.isAnnotationPresent(PersistenceUnit.class)) &&
|
||||
method.equals(ClassUtils.getMostSpecificMethod(method, clazz))) {
|
||||
if (Modifier.isStatic(method.getModifiers())) {
|
||||
throw new IllegalStateException("Persistence annotations are not supported on static methods");
|
||||
}
|
||||
if ((bridgedMethod.isAnnotationPresent(PersistenceContext.class) ||
|
||||
bridgedMethod.isAnnotationPresent(PersistenceUnit.class)) &&
|
||||
method.equals(ClassUtils.getMostSpecificMethod(method, clazz))) {
|
||||
if (Modifier.isStatic(method.getModifiers())) {
|
||||
throw new IllegalStateException("Persistence annotations are not supported on static methods");
|
||||
}
|
||||
if (method.getParameterCount() != 1) {
|
||||
throw new IllegalStateException("Persistence annotation requires a single-arg method: " + method);
|
||||
}
|
||||
PropertyDescriptor pd = BeanUtils.findPropertyForMethod(bridgedMethod, clazz);
|
||||
currElements.add(new PersistenceElement(method, bridgedMethod, pd));
|
||||
if (method.getParameterCount() != 1) {
|
||||
throw new IllegalStateException("Persistence annotation requires a single-arg method: " + method);
|
||||
}
|
||||
PropertyDescriptor pd = BeanUtils.findPropertyForMethod(bridgedMethod, clazz);
|
||||
currElements.add(new PersistenceElement(method, bridgedMethod, pd));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user