Use lambdas when possible

Replace anonymous inner classes with lambda declarations (when possible
using method references).

See gh-9781
This commit is contained in:
Emanuel Campolo
2017-07-24 23:11:47 -07:00
committed by Phillip Webb
parent d16af43664
commit 2626a3a795
150 changed files with 983 additions and 2596 deletions

View File

@@ -26,7 +26,6 @@ import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
@@ -105,25 +104,22 @@ public class CliTester implements TestRule {
String... args) {
clearUrlHandler();
final String[] sources = getSources(args);
return Executors.newSingleThreadExecutor().submit(new Callable<T>() {
@Override
public T call() throws Exception {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
System.setProperty("server.port", "0");
System.setProperty("spring.application.class.name",
"org.springframework.boot.cli.CliTesterSpringApplication");
System.setProperty("portfile",
new File("target/server.port").getAbsolutePath());
try {
command.run(sources);
return command;
}
finally {
System.clearProperty("server.port");
System.clearProperty("spring.application.class.name");
System.clearProperty("portfile");
Thread.currentThread().setContextClassLoader(loader);
}
return Executors.newSingleThreadExecutor().submit(() -> {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
System.setProperty("server.port", "0");
System.setProperty("spring.application.class.name",
"org.springframework.boot.cli.CliTesterSpringApplication");
System.setProperty("portfile",
new File("target/server.port").getAbsolutePath());
try {
command.run(sources);
return command;
}
finally {
System.clearProperty("server.port");
System.clearProperty("spring.application.class.name");
System.clearProperty("portfile");
Thread.currentThread().setContextClassLoader(loader);
}
});
}

View File

@@ -36,69 +36,53 @@ public class RepositoryConfigurationFactoryTests {
@Test
public void defaultRepositories() {
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone");
}
SystemProperties.doWithSystemProperties(() -> {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone");
}, "user.home:src/test/resources/maven-settings/basic");
}
@Test
public void snapshotRepositoriesDisabled() {
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central",
"local");
}
SystemProperties.doWithSystemProperties(() -> {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local");
}, "user.home:src/test/resources/maven-settings/basic",
"disableSpringSnapshotRepos:true");
}
@Test
public void activeByDefaultProfileRepositories() {
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "active-by-default");
}
SystemProperties.doWithSystemProperties(() -> {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "active-by-default");
}, "user.home:src/test/resources/maven-settings/active-profile-repositories");
}
@Test
public void activeByPropertyProfileRepositories() {
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "active-by-property");
}
SystemProperties.doWithSystemProperties(() -> {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "active-by-property");
}, "user.home:src/test/resources/maven-settings/active-profile-repositories",
"foo:bar");
}
@Test
public void interpolationProfileRepositories() {
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "interpolate-releases",
"interpolate-snapshots");
}
SystemProperties.doWithSystemProperties(() -> {
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
.createDefaultRepositoryConfiguration();
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
"spring-snapshot", "spring-milestone", "interpolate-releases",
"interpolate-snapshots");
}, "user.home:src/test/resources/maven-settings/active-profile-repositories",
"interpolate:true");
}

View File

@@ -72,54 +72,32 @@ public class AetherGrapeEngineTests {
@Test
public void proxySelector() {
doWithCustomUserHome(new Runnable() {
@Override
public void run() {
AetherGrapeEngine grapeEngine = createGrapeEngine();
DefaultRepositorySystemSession session = (DefaultRepositorySystemSession) ReflectionTestUtils
.getField(grapeEngine, "session");
assertThat(session.getProxySelector() instanceof CompositeProxySelector)
.isTrue();
}
doWithCustomUserHome(() -> {
AetherGrapeEngine grapeEngine = createGrapeEngine();
DefaultRepositorySystemSession session = (DefaultRepositorySystemSession) ReflectionTestUtils
.getField(grapeEngine, "session");
assertThat(session.getProxySelector() instanceof CompositeProxySelector)
.isTrue();
});
}
@Test
public void repositoryMirrors() {
doWithCustomUserHome(new Runnable() {
@SuppressWarnings("unchecked")
@Override
public void run() {
AetherGrapeEngine grapeEngine = createGrapeEngine();
List<RemoteRepository> repositories = (List<RemoteRepository>) ReflectionTestUtils
.getField(grapeEngine, "repositories");
assertThat(repositories).hasSize(1);
assertThat(repositories.get(0).getId()).isEqualTo("central-mirror");
}
doWithCustomUserHome(() -> {
List<RemoteRepository> repositories = getRepositories();
assertThat(repositories).hasSize(1);
assertThat(repositories.get(0).getId()).isEqualTo("central-mirror");
});
}
@Test
public void repositoryAuthentication() {
doWithCustomUserHome(new Runnable() {
@SuppressWarnings("unchecked")
@Override
public void run() {
AetherGrapeEngine grapeEngine = createGrapeEngine();
List<RemoteRepository> repositories = (List<RemoteRepository>) ReflectionTestUtils
.getField(grapeEngine, "repositories");
assertThat(repositories).hasSize(1);
Authentication authentication = repositories.get(0).getAuthentication();
assertThat(authentication).isNotNull();
}
doWithCustomUserHome(() -> {
List<RemoteRepository> repositories = getRepositories();
assertThat(repositories).hasSize(1);
Authentication authentication = repositories.get(0).getAuthentication();
assertThat(authentication).isNotNull();
});
}
@@ -216,6 +194,13 @@ public class AetherGrapeEngineTests {
assertThat(urls[0].toExternalForm().endsWith("-sources.jar")).isTrue();
}
@SuppressWarnings("unchecked")
private List<RemoteRepository> getRepositories() {
AetherGrapeEngine grapeEngine = createGrapeEngine();
return (List<RemoteRepository>) ReflectionTestUtils.getField(grapeEngine,
"repositories");
}
private Map<String, Object> createDependency(String group, String module,
String version) {
Map<String, Object> dependency = new HashMap<>();

View File

@@ -59,21 +59,12 @@ public class GrapeRootRepositorySystemSessionAutoConfigurationTests {
@Test
public void noLocalRepositoryWhenNoGrapeRoot() {
given(this.repositorySystem.newLocalRepositoryManager(eq(this.session),
any(LocalRepository.class)))
.willAnswer(new Answer<LocalRepositoryManager>() {
@Override
public LocalRepositoryManager answer(
InvocationOnMock invocation) throws Throwable {
LocalRepository localRepository = invocation
.getArgument(1);
return new SimpleLocalRepositoryManagerFactory()
.newInstance(
GrapeRootRepositorySystemSessionAutoConfigurationTests.this.session,
localRepository);
}
});
any(LocalRepository.class))).willAnswer((invocation) -> {
LocalRepository localRepository = invocation.getArgument(1);
return new SimpleLocalRepositoryManagerFactory().newInstance(
GrapeRootRepositorySystemSessionAutoConfigurationTests.this.session,
localRepository);
});
new GrapeRootRepositorySystemSessionAutoConfiguration().apply(this.session,
this.repositorySystem);
verify(this.repositorySystem, times(0))

View File

@@ -26,7 +26,6 @@ import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.AuthenticationContext;
import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.repository.LocalRepositoryManager;
import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.RemoteRepository;
import org.junit.Before;
@@ -35,8 +34,6 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.springframework.boot.cli.testutil.SystemProperties;
@@ -78,28 +75,17 @@ public class SettingsXmlRepositorySystemSessionAutoConfigurationTests {
final DefaultRepositorySystemSession session = MavenRepositorySystemUtils
.newSession();
given(this.repositorySystem.newLocalRepositoryManager(eq(session),
any(LocalRepository.class)))
.willAnswer(new Answer<LocalRepositoryManager>() {
@Override
public LocalRepositoryManager answer(
InvocationOnMock invocation) throws Throwable {
LocalRepository localRepository = invocation
.getArgument(1);
return new SimpleLocalRepositoryManagerFactory()
.newInstance(session, localRepository);
}
});
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
new SettingsXmlRepositorySystemSessionAutoConfiguration().apply(session,
SettingsXmlRepositorySystemSessionAutoConfigurationTests.this.repositorySystem);
}
}, "user.home:src/test/resources/maven-settings/property-interpolation",
any(LocalRepository.class))).willAnswer((invocation) -> {
LocalRepository localRepository = invocation.getArgument(1);
return new SimpleLocalRepositoryManagerFactory().newInstance(session,
localRepository);
});
SystemProperties.doWithSystemProperties(
() -> new SettingsXmlRepositorySystemSessionAutoConfiguration().apply(
session,
SettingsXmlRepositorySystemSessionAutoConfigurationTests.this.repositorySystem),
"user.home:src/test/resources/maven-settings/property-interpolation",
"foo:bar");
assertThat(session.getLocalRepository().getBasedir().getAbsolutePath())
.endsWith(File.separatorChar + "bar" + File.separatorChar + "repository");
}
@@ -107,14 +93,11 @@ public class SettingsXmlRepositorySystemSessionAutoConfigurationTests {
private void assertSessionCustomization(String userHome) {
final DefaultRepositorySystemSession session = MavenRepositorySystemUtils
.newSession();
SystemProperties.doWithSystemProperties(new Runnable() {
@Override
public void run() {
new SettingsXmlRepositorySystemSessionAutoConfiguration().apply(session,
SettingsXmlRepositorySystemSessionAutoConfigurationTests.this.repositorySystem);
}
}, "user.home:" + userHome);
SystemProperties.doWithSystemProperties(
() -> new SettingsXmlRepositorySystemSessionAutoConfiguration().apply(
session,
SettingsXmlRepositorySystemSessionAutoConfigurationTests.this.repositorySystem),
"user.home:" + userHome);
RemoteRepository repository = new RemoteRepository.Builder("my-server", "default",
"http://maven.example.com").build();
assertMirrorSelectorConfiguration(session, repository);