@@ -55,9 +55,15 @@ public abstract class FunctionContextUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Class<?> beanClass = null;
|
||||||
|
|
||||||
|
|
||||||
if (definition == null) {
|
if (definition == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
beanClass = resolveBeanClass(definition);
|
||||||
|
}
|
||||||
|
|
||||||
Object source = definition.getSource();
|
Object source = definition.getSource();
|
||||||
|
|
||||||
@@ -74,7 +80,7 @@ public abstract class FunctionContextUtils {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Type t = definition.getResolvableType().getType();
|
Type t = definition.getResolvableType().getType();
|
||||||
if (!(t instanceof ParameterizedType) && definition.hasBeanClass()) {
|
if (!(t instanceof ParameterizedType) && beanClass != null) {
|
||||||
return FunctionTypeUtils.discoverFunctionTypeFromClass(definition.getBeanClass());
|
return FunctionTypeUtils.discoverFunctionTypeFromClass(definition.getBeanClass());
|
||||||
}
|
}
|
||||||
return t;
|
return t;
|
||||||
@@ -99,6 +105,15 @@ public abstract class FunctionContextUtils {
|
|||||||
return params.toArray(new Class<?>[0]);
|
return params.toArray(new Class<?>[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Class<?> resolveBeanClass(AbstractBeanDefinition beanDefinition) {
|
||||||
|
try {
|
||||||
|
return beanDefinition.hasBeanClass() ? beanDefinition.getBeanClass() : ClassUtils.getDefaultClassLoader().loadClass(beanDefinition.getBeanClassName());
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static Type findBeanType(AbstractBeanDefinition definition, String declaringClassName, String methodName) {
|
private static Type findBeanType(AbstractBeanDefinition definition, String declaringClassName, String methodName) {
|
||||||
Class<?> factory = ClassUtils.resolveClassName(declaringClassName, null);
|
Class<?> factory = ClassUtils.resolveClassName(declaringClassName, null);
|
||||||
Class<?>[] params = getParamTypesFromBeanDefinitionFactory(factory, definition);
|
Class<?>[] params = getParamTypesFromBeanDefinitionFactory(factory, definition);
|
||||||
|
|||||||
Reference in New Issue
Block a user