diff --git a/spring-orm/src/test/java/org/springframework/orm/jpa/support/OpenEntityManagerInViewTests.java b/spring-orm/src/test/java/org/springframework/orm/jpa/support/OpenEntityManagerInViewTests.java index ad1a84e70f..cebeb2fe18 100644 --- a/spring-orm/src/test/java/org/springframework/orm/jpa/support/OpenEntityManagerInViewTests.java +++ b/spring-orm/src/test/java/org/springframework/orm/jpa/support/OpenEntityManagerInViewTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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,7 +16,6 @@ package org.springframework.orm.jpa.support; -import java.io.IOException; import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicInteger; @@ -25,9 +24,6 @@ import javax.persistence.EntityManagerFactory; import javax.servlet.AsyncEvent; import javax.servlet.AsyncListener; import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -77,7 +73,7 @@ public class OpenEntityManagerInViewTests { @BeforeEach - public void setUp() throws Exception { + public void setUp() { factory = mock(EntityManagerFactory.class); manager = mock(EntityManager.class); @@ -90,7 +86,7 @@ public class OpenEntityManagerInViewTests { } @AfterEach - public void tearDown() throws Exception { + public void tearDown() { assertThat(TransactionSynchronizationManager.getResourceMap().isEmpty()).isTrue(); assertThat(TransactionSynchronizationManager.isSynchronizationActive()).isFalse(); assertThat(TransactionSynchronizationManager.isCurrentTransactionReadOnly()).isFalse(); @@ -98,7 +94,7 @@ public class OpenEntityManagerInViewTests { } @Test - public void testOpenEntityManagerInViewInterceptor() throws Exception { + public void testOpenEntityManagerInViewInterceptor() { OpenEntityManagerInViewInterceptor interceptor = new OpenEntityManagerInViewInterceptor(); interceptor.setEntityManagerFactory(this.factory); @@ -150,12 +146,7 @@ public class OpenEntityManagerInViewTests { WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(this.webRequest); asyncManager.setTaskExecutor(new SyncTaskExecutor()); asyncManager.setAsyncWebRequest(asyncWebRequest); - asyncManager.startCallableProcessing(new Callable() { - @Override - public String call() throws Exception { - return "anything"; - } - }); + asyncManager.startCallableProcessing((Callable) () -> "anything"); interceptor.afterConcurrentHandlingStarted(this.webRequest); assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse(); @@ -209,12 +200,7 @@ public class OpenEntityManagerInViewTests { WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(this.request); asyncManager.setTaskExecutor(new SyncTaskExecutor()); asyncManager.setAsyncWebRequest(asyncWebRequest); - asyncManager.startCallableProcessing(new Callable() { - @Override - public String call() throws Exception { - return "anything"; - } - }); + asyncManager.startCallableProcessing((Callable) () -> "anything"); interceptor.afterConcurrentHandlingStarted(this.webRequest); assertThat(TransactionSynchronizationManager.hasResource(this.factory)).isFalse(); @@ -251,17 +237,12 @@ public class OpenEntityManagerInViewTests { WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(this.request); asyncManager.setTaskExecutor(new SyncTaskExecutor()); asyncManager.setAsyncWebRequest(asyncWebRequest); - asyncManager.startCallableProcessing(new Callable() { - @Override - public String call() throws Exception { - return "anything"; - } - }); + asyncManager.startCallableProcessing((Callable) () -> "anything"); interceptor.afterConcurrentHandlingStarted(this.webRequest); assertThat(TransactionSynchronizationManager.hasResource(this.factory)).isFalse(); - // Async request timeout + // Async request error given(this.manager.isOpen()).willReturn(true); @@ -305,21 +286,14 @@ public class OpenEntityManagerInViewTests { final OpenEntityManagerInViewFilter filter2 = new OpenEntityManagerInViewFilter(); filter2.init(filterConfig2); - final FilterChain filterChain = new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { - assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue(); - servletRequest.setAttribute("invoked", Boolean.TRUE); - } + final FilterChain filterChain = (servletRequest, servletResponse) -> { + assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue(); + servletRequest.setAttribute("invoked", Boolean.TRUE); }; - final FilterChain filterChain2 = new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) - throws IOException, ServletException { - assertThat(TransactionSynchronizationManager.hasResource(factory2)).isTrue(); - filter.doFilter(servletRequest, servletResponse, filterChain); - } + final FilterChain filterChain2 = (servletRequest, servletResponse) -> { + assertThat(TransactionSynchronizationManager.hasResource(factory2)).isTrue(); + filter.doFilter(servletRequest, servletResponse, filterChain); }; FilterChain filterChain3 = new PassThroughFilterChain(filter2, filterChain2); @@ -366,25 +340,18 @@ public class OpenEntityManagerInViewTests { final AtomicInteger count = new AtomicInteger(0); - final FilterChain filterChain = new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { - assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue(); - servletRequest.setAttribute("invoked", Boolean.TRUE); - count.incrementAndGet(); - } + final FilterChain filterChain = (servletRequest, servletResponse) -> { + assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue(); + servletRequest.setAttribute("invoked", Boolean.TRUE); + count.incrementAndGet(); }; final AtomicInteger count2 = new AtomicInteger(0); - final FilterChain filterChain2 = new FilterChain() { - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) - throws IOException, ServletException { - assertThat(TransactionSynchronizationManager.hasResource(factory2)).isTrue(); - filter.doFilter(servletRequest, servletResponse, filterChain); - count2.incrementAndGet(); - } + final FilterChain filterChain2 = (servletRequest, servletResponse) -> { + assertThat(TransactionSynchronizationManager.hasResource(factory2)).isTrue(); + filter.doFilter(servletRequest, servletResponse, filterChain); + count2.incrementAndGet(); }; FilterChain filterChain3 = new PassThroughFilterChain(filter2, filterChain2); @@ -395,12 +362,7 @@ public class OpenEntityManagerInViewTests { WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(this.request); asyncManager.setTaskExecutor(new SyncTaskExecutor()); asyncManager.setAsyncWebRequest(asyncWebRequest); - asyncManager.startCallableProcessing(new Callable() { - @Override - public String call() throws Exception { - return "anything"; - } - }); + asyncManager.startCallableProcessing((Callable) () -> "anything"); assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse(); assertThat(TransactionSynchronizationManager.hasResource(factory2)).isFalse(); @@ -434,6 +396,7 @@ public class OpenEntityManagerInViewTests { wac.close(); } + @SuppressWarnings("serial") private static class SyncTaskExecutor extends SimpleAsyncTaskExecutor {