Use streams and lambdas in spring-test where feasible
Issue: SPR-13188
This commit is contained in:
parent
8fff1c2ac0
commit
a0cad5c48f
|
@ -40,10 +40,8 @@ import org.springframework.test.context.transaction.TestContextTransactionUtils;
|
|||
import org.springframework.test.context.util.TestContextResourceUtils;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.interceptor.DefaultTransactionAttribute;
|
||||
import org.springframework.transaction.interceptor.TransactionAttribute;
|
||||
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
|
||||
import org.springframework.transaction.support.TransactionTemplate;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
@ -244,12 +242,9 @@ public class SqlScriptsTestExecutionListener extends AbstractTestExecutionListen
|
|||
TransactionAttribute transactionAttribute = TestContextTransactionUtils.createDelegatingTransactionAttribute(
|
||||
testContext, new DefaultTransactionAttribute(propagation));
|
||||
|
||||
new TransactionTemplate(transactionManager, transactionAttribute).execute(new TransactionCallbackWithoutResult() {
|
||||
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
populator.execute(finalDataSource);
|
||||
}
|
||||
new TransactionTemplate(transactionManager, transactionAttribute).execute(status -> {
|
||||
populator.execute(finalDataSource);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,9 +19,10 @@ package org.springframework.test.context.transaction;
|
|||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
@ -442,13 +443,9 @@ public class TransactionalTestExecutionListener extends AbstractTestExecutionLis
|
|||
* as well as annotated interface default methods
|
||||
*/
|
||||
private List<Method> getAnnotatedMethods(Class<?> clazz, Class<? extends Annotation> annotationType) {
|
||||
List<Method> methods = new ArrayList<>(4);
|
||||
for (Method method : ReflectionUtils.getUniqueDeclaredMethods(clazz)) {
|
||||
if (AnnotationUtils.getAnnotation(method, annotationType) != null) {
|
||||
methods.add(method);
|
||||
}
|
||||
}
|
||||
return methods;
|
||||
return Arrays.stream(ReflectionUtils.getUniqueDeclaredMethods(clazz))
|
||||
.filter(method -> AnnotatedElementUtils.hasAnnotation(method, annotationType))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,8 +16,10 @@
|
|||
|
||||
package org.springframework.test.context.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
|
@ -98,8 +100,7 @@ public abstract class TestContextResourceUtils {
|
|||
* @see #convertToClasspathResourcePaths
|
||||
*/
|
||||
public static Resource[] convertToResources(ResourceLoader resourceLoader, String... paths) {
|
||||
List<Resource> list = convertToResourceList(resourceLoader, paths);
|
||||
return list.toArray(new Resource[list.size()]);
|
||||
return stream(resourceLoader, paths).toArray(Resource[]::new);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -114,11 +115,11 @@ public abstract class TestContextResourceUtils {
|
|||
* @see #convertToClasspathResourcePaths
|
||||
*/
|
||||
public static List<Resource> convertToResourceList(ResourceLoader resourceLoader, String... paths) {
|
||||
List<Resource> list = new ArrayList<>();
|
||||
for (String path : paths) {
|
||||
list.add(resourceLoader.getResource(path));
|
||||
}
|
||||
return list;
|
||||
return stream(resourceLoader, paths).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static Stream<Resource> stream(ResourceLoader resourceLoader, String... paths) {
|
||||
return Arrays.stream(paths).map(resourceLoader::getResource);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue