Polished adapter initializers consolidation effort
- Added ability to retrieve input type from FunctionRegistration (if available) in AbstractSpringFunctionAdapterInitializer
- Removed azure/AzureSpringFunctionInitializer and aws/SpringFunctionInitializer
- Added additional tests in AWS and Azure modules
- See 0189c578ef for additional info
This commit is contained in:
@@ -65,6 +65,8 @@ public abstract class AbstractSpringFunctionAdapterInitializer<C> implements Clo
|
||||
|
||||
private Supplier<Publisher<?>> supplier;
|
||||
|
||||
private FunctionRegistration<?> functionRegistration;
|
||||
|
||||
private AtomicBoolean initialized = new AtomicBoolean();
|
||||
|
||||
@Autowired(required = false)
|
||||
@@ -119,6 +121,9 @@ public abstract class AbstractSpringFunctionAdapterInitializer<C> implements Clo
|
||||
if (this.inspector != null) {
|
||||
return this.inspector.getInputType(function());
|
||||
}
|
||||
else if (functionRegistration != null) {
|
||||
return functionRegistration.getType().getInputType();
|
||||
}
|
||||
return Object.class;
|
||||
}
|
||||
|
||||
@@ -274,13 +279,15 @@ public abstract class AbstractSpringFunctionAdapterInitializer<C> implements Clo
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
private <T> T getAndInstrumentFromContext(String name) {
|
||||
FunctionRegistration<?> functionRegistration =
|
||||
this.functionRegistration =
|
||||
new FunctionRegistration(context.getBean(name), name);
|
||||
|
||||
Type type = FunctionContextUtils.
|
||||
findType(name, (ConfigurableListableBeanFactory) this.context.getBeanFactory());
|
||||
FunctionType functionType = new FunctionType(type);
|
||||
return (T) functionRegistration.type(functionType).wrap().getTarget();
|
||||
|
||||
this.functionRegistration = functionRegistration.type(new FunctionType(type)).wrap();
|
||||
|
||||
return (T) functionRegistration.getTarget();
|
||||
}
|
||||
|
||||
private void initFunctionConsumerOrSupplierFromContext(Object targetContext) {
|
||||
|
||||
Reference in New Issue
Block a user