Merge branch '2.2.x'
This commit is contained in:
@@ -87,8 +87,11 @@ class SpringBootVersionVerifier implements CompatibilityVerifier {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Version found in Boot manifest [" + version + "]");
|
||||
}
|
||||
return StringUtils.hasText(version)
|
||||
&& version.startsWith(stripWildCardFromVersion(s));
|
||||
if (!StringUtils.hasText(version)) {
|
||||
log.info("Cannot check Boot version");
|
||||
return true;
|
||||
}
|
||||
return version.startsWith(stripWildCardFromVersion(s));
|
||||
}
|
||||
|
||||
String getVersionFromManifest() {
|
||||
|
||||
@@ -132,7 +132,7 @@ public class SpringBootDependencyTests {
|
||||
acceptedVersions) {
|
||||
@Override
|
||||
String getVersionFromManifest() {
|
||||
return "";
|
||||
return "2.1";
|
||||
}
|
||||
};
|
||||
versionVerifier.ACCEPTED_VERSIONS.clear();
|
||||
@@ -207,7 +207,7 @@ public class SpringBootDependencyTests {
|
||||
acceptedVersions) {
|
||||
@Override
|
||||
String getVersionFromManifest() {
|
||||
return "";
|
||||
return "2.0";
|
||||
}
|
||||
};
|
||||
versionVerifier.ACCEPTED_VERSIONS.remove("2.1");
|
||||
|
||||
@@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.BeanFactoryUtils;
|
||||
import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
@@ -143,10 +144,12 @@ public abstract class NamedContextFactory<C extends NamedContextFactory.Specific
|
||||
|
||||
public <T> T getInstance(String name, Class<T> type) {
|
||||
AnnotationConfigApplicationContext context = getContext(name);
|
||||
if (BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context,
|
||||
type).length > 0) {
|
||||
try {
|
||||
return context.getBean(type);
|
||||
}
|
||||
catch (NoSuchBeanDefinitionException e) {
|
||||
// ignore
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -181,11 +184,8 @@ public abstract class NamedContextFactory<C extends NamedContextFactory.Specific
|
||||
|
||||
public <T> Map<String, T> getInstances(String name, Class<T> type) {
|
||||
AnnotationConfigApplicationContext context = getContext(name);
|
||||
if (BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context,
|
||||
type).length > 0) {
|
||||
return BeanFactoryUtils.beansOfTypeIncludingAncestors(context, type);
|
||||
}
|
||||
return null;
|
||||
|
||||
return BeanFactoryUtils.beansOfTypeIncludingAncestors(context, type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -54,6 +54,18 @@ public class NamedContextFactoryTests {
|
||||
Bar foobar = factory.getInstance("foo", Bar.class);
|
||||
then(foobar).as("bar was not null").isNull();
|
||||
|
||||
Baz fooBaz = factory.getInstance("foo", Baz.class);
|
||||
then(fooBaz).as("fooBaz was null").isNotNull();
|
||||
|
||||
Object fooContainerFoo = factory.getInstance("foo", Container.class, Foo.class);
|
||||
then(fooContainerFoo).as("fooContainerFoo was null").isNotNull();
|
||||
|
||||
Object fooContainerBar = factory.getInstance("foo", Container.class, Bar.class);
|
||||
then(fooContainerBar).as("fooContainerBar was not null").isNull();
|
||||
|
||||
Object barContainerBar = factory.getInstance("bar", Container.class, Bar.class);
|
||||
then(barContainerBar).as("barContainerBar was null").isNotNull();
|
||||
|
||||
Map<String, Baz> fooBazes = factory.getInstances("foo", Baz.class);
|
||||
then(fooBazes).as("fooBazes was null").isNotNull();
|
||||
then(fooBazes.size()).as("fooBazes size was wrong").isEqualTo(1);
|
||||
@@ -146,6 +158,11 @@ public class NamedContextFactoryTests {
|
||||
return new Foo();
|
||||
}
|
||||
|
||||
@Bean
|
||||
Container<Foo> fooContainer() {
|
||||
return new Container<>(new Foo());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class Foo {
|
||||
@@ -164,10 +181,29 @@ public class NamedContextFactoryTests {
|
||||
return new Baz();
|
||||
}
|
||||
|
||||
@Bean
|
||||
Container<Bar> barContainer() {
|
||||
return new Container<>(new Bar());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class Bar {
|
||||
|
||||
}
|
||||
|
||||
static class Container<T> {
|
||||
|
||||
private final T item;
|
||||
|
||||
Container(T item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public T getItem() {
|
||||
return this.item;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user