3.1.x
Phillip Webb 1 year ago
parent 2fdc29b885
commit 155300525e

@ -96,20 +96,15 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec
if (classes.length > 0) {
return Arrays.asList(classes);
}
Collection<String> factoryNames = loadFactoryNames(source);
return factoryNames.stream().map((name) -> {
if (name.startsWith(OPTIONAL_PREFIX)) {
name = name.substring(OPTIONAL_PREFIX.length());
if (!present(name)) {
return null;
}
return loadFactoryNames(source).stream().map(this::mapFactoryName).filter(Objects::nonNull).toList();
}
private String mapFactoryName(String name) {
if (!name.startsWith(OPTIONAL_PREFIX)) {
return name;
}).filter(Objects::nonNull).toList();
}
protected Collection<String> loadFactoryNames(Class<?> source) {
return ImportCandidates.load(source, getBeanClassLoader()).getCandidates();
name = name.substring(OPTIONAL_PREFIX.length());
return (!present(name)) ? null : name;
}
private boolean present(String className) {
@ -117,6 +112,10 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec
return new ClassPathResource(resourcePath).exists();
}
protected Collection<String> loadFactoryNames(Class<?> source) {
return ImportCandidates.load(source, getBeanClassLoader()).getCandidates();
}
@Override
protected Set<String> getExclusions(AnnotationMetadata metadata, AnnotationAttributes attributes) {
Set<String> exclusions = new LinkedHashSet<>();

@ -89,8 +89,7 @@ class DockerCliIntegrationTests {
cli.run(new ComposeStop(Duration.ofSeconds(10)));
ps = cli.run(new ComposePs());
assertThat(ps).isEmpty();
// Run start, verify that service is there, then run down and verify they are
// gone
// Run start, verify service is there, then run down and verify they are gone
cli.run(new ComposeStart(LogLevel.INFO));
ps = cli.run(new ComposePs());
assertThat(ps).hasSize(1);
@ -116,15 +115,10 @@ class DockerCliIntegrationTests {
private static File createComposeFile() throws IOException {
File composeFile = new ClassPathResource("redis-compose.yaml", DockerCliIntegrationTests.class).getFile();
File tempComposeFile = Path.of(tempDir.toString(), composeFile.getName()).toFile();
String composeFileContent;
try (FileReader reader = new FileReader(composeFile)) {
composeFileContent = FileCopyUtils.copyToString(reader);
}
String composeFileContent = FileCopyUtils.copyToString(new FileReader(composeFile));
composeFileContent = composeFileContent.replace("{imageName}",
DockerImageNames.redis().asCanonicalNameString());
try (FileWriter writer = new FileWriter(tempComposeFile)) {
FileCopyUtils.copy(composeFileContent, writer);
}
FileCopyUtils.copy(composeFileContent, new FileWriter(tempComposeFile));
return tempComposeFile;
}

Loading…
Cancel
Save