Oleg Zhurakousky
e47fc2d5cf
Disconnect FunctionInspector from adapter request handlers and Kotlin module
2020-10-20 13:58:51 +02:00
Oleg Zhurakousky
b8d462678a
Deprecate and remove all usages of FunctionInspector
2020-10-19 18:11:11 +02:00
Oleg Zhurakousky
10b1f808ba
Consolidate isMessage() operation
2020-10-19 14:57:55 +02:00
Oleg Zhurakousky
14918ebf16
Clean up FunctionTypeUtils
2020-10-19 14:44:37 +02:00
Oleg Zhurakousky
9a910688b1
Deprecate Flux* function interfaces
2020-10-19 13:20:51 +02:00
Oleg Zhurakousky
72f05fc591
Refactor FunctionCatalog implementation
2020-10-16 17:59:06 +02:00
David Turanski
852cdd5d5e
Fix get() conditional return
...
Resolves #591
2020-09-28 11:18:56 +02:00
Oleg Zhurakousky
7aa0e00f8b
Remove commented code
2020-09-21 17:24:52 +02:00
Oleg Zhurakousky
4d49b4d6ec
GH-568 Add support for casting resulting function as Runnable
...
Resolves #568
2020-09-21 17:22:38 +02:00
Oleg Zhurakousky
6863931f30
GH-578 Fix FunctionRegistration lookup
...
The root of the issue was in implementation of equals() and hashCode() of FunctionInvocationWrapper
Resolves #578
2020-09-21 15:22:21 +02:00
Oleg Zhurakousky
3115833c88
GH-588 Fix dropped headers during input conversion
...
This addresses the issue of dropped Message headers in the event where input is a Message but input conversion is not necessary
while Message contains headers that require explicit propagation (e.g., scf-sink-url, scf-func-name)
Resolves #588
2020-09-18 18:46:52 +02:00
Oleg Zhurakousky
e19ed2ff68
GH-587 Add support for inferring 'accept' content type for simple types
...
This fix also introduces new Function property 'accept' with no default value which implicitely would default to application/json unless the output type of the function is String at which point it would default to text/plain. However, if it was explicitely set in FunctionProperties it will be used regardless of the function output type.
Resolves #587
2020-09-16 18:14:40 +02:00
Oleg Zhurakousky
a4763ee879
Inject LOOKUP_DESTINATION_HEADER if definition property is not used
2020-09-15 13:51:49 +02:00
Oleg Zhurakousky
2dffa30669
Change log level for default function discovery
2020-09-02 14:45:33 +02:00
Oleg Zhurakousky
f450e4a2eb
Add special handling for JSON Strings
...
Added support to JsonMessageConverter to pass string as is if input type is String
Added guard condition to RSocketListenerFunction to avoid NPE if target function can not be discovered
2020-08-31 16:35:18 +02:00
Oleg Zhurakousky
f4fcf1ccd0
GH-573 Ensure registered functions are accounted during the lookup
...
Resolves #573
2020-08-04 19:35:05 +02:00
Oleg Zhurakousky
2f36dbccb3
Various polishing to accomodate boot, reactor and other changes
2020-08-04 19:21:14 +02:00
Oleg Zhurakousky
6b9ce4cb0c
GH-562 Add type conversion documentation
...
Add test in AWS to showcase type conversion
Fix AWS FunctionInvoker to delegate to effectively delegate type conversion to the native mechanism of spring-cloud-function
Resolves #562
2020-07-29 20:17:03 +02:00
Oleg Zhurakousky
6a4bddc042
Add support for handling special types
...
There are certain cases where conversion has to be skiped. One such case is KafkaNull type which has to be sent as is.
2020-07-24 14:45:57 +02:00
Oleg Zhurakousky
621a925507
Fix getRegistration method
2020-07-24 14:17:05 +02:00
Oleg Zhurakousky
60fba08c83
Add ability to around advice function invocation
2020-07-17 07:24:41 +02:00
Oleg Zhurakousky
13aa4700b1
Cleanup 'requestChannel' logic
...
Add RSocketConnectionUtils to deal with connectivity logic
2020-07-16 15:58:22 +02:00
Oleg Zhurakousky
718f785ae1
GH-554 Fix condition check for annotation processor in initializer
...
Resolves #554
2020-07-15 12:24:28 +02:00
Oleg Zhurakousky
ecc625b6d8
GH-557 Add special handling for wild-card content type and subtype
...
Add special handling for wild-card content type and subtype to NegotiatingMessageConverterWrapper
Add author tags
Resolves #557
2020-07-15 10:36:57 +02:00
Oleg Zhurakousky
5fd54ab9fd
Add condition to reset content-type only if it isd not already set
...
Polish some of the POMs to address missing dependencies
Temporary disconnect gcp background sample until errors are fixed
2020-07-13 14:21:02 +02:00
Oleg Zhurakousky
c7eae3e16f
GH-550 Add support for wrapping value into Message if necessary
...
Resolves #550
2020-06-19 15:26:28 +02:00
Oleg Zhurakousky
4c32024ceb
Polish previous commit
...
Add author tag
Rename 'getPayloadType' method to 'getGenericType' and ad javadoc
Resolves #543
2020-06-17 09:29:40 +02:00
anshlykov
9e5e35f700
SimpleFunctionRegistryTests: reactive function test case
...
FunctionTypeUtils#isTypeCollection: unwrap publisher
JsonMessageConverter: handler for a ParameterizedType conversionHint
refactor
2020-06-17 08:58:46 +02:00
Oleg Zhurakousky
75c718f060
Merge pull request #546 from bountin/typos
...
Improve language and typos
2020-06-17 08:46:20 +02:00
Martin Prebio
c17350f3c9
Fix language and typos
2020-06-16 20:39:44 +02:00
Martin Prebio
b0044890fa
Reduce logger's visibility
2020-06-16 20:34:16 +02:00
Martin Prebio
355c0653fa
Correct logger class name to use runtime class
2020-06-16 20:33:49 +02:00
Oleg Zhurakousky
53b385680f
GH-537 Fix JsonMapper creation
...
This fix insures that 'spring.http.converters.preferred-json-mapper' property is only used as mechanism to break tie in the event both jackson and gson are available in classpath or AC
Resolves #537
2020-06-11 20:54:11 +02:00
Oleg Zhurakousky
5bed9c66ee
GH-538 Fix default lookup on FunctionRegistration
...
Resolves #538
2020-06-11 19:17:32 +02:00
Oleg Zhurakousky
c9e0801b1d
GH-503 Add test to demonstrate custom message converter usage
...
Resolves #503
2020-06-11 15:36:27 +02:00
Oleg Zhurakousky
af192a5adf
GH-531 Fail function registration for incompatible types
...
Given that we now can auto-discover function type from provided target object, this fix will fail function registration if provided type is not compatible (assignableFrom. . .)
Resolves #531
2020-06-10 18:28:28 +02:00
anshlykov
8bcfad48fa
Migrate to JUnit 5
...
spring-cloud-function-context
spring-cloud-function-context: fix
spring-cloud-function-web
spring-cloud-function-adapters
spring-cloud-function-samples
spring-cloud-function-deployer; spring-cloud-function-kotlin
Resolves #535
2020-06-10 16:43:04 +02:00
Oleg Zhurakousky
469c86e7b6
Polishing 7c8ba881c9
2020-05-27 14:51:51 +02:00
Oleg Zhurakousky
ce28ce2cb6
GH-514 Remove 'proxyInvokerIfNecessary()' method
...
It is really not needed as it does not add much value other then allows user to cast POJO function to its actual type. The reality is that the actual goald of POJO function is to make sure they can be looked at as plain Functions.
Resolves #514
2020-05-26 15:46:42 +02:00
Oleg Zhurakousky
417e54e0af
Add special handling for collections NegotiatingMessageConverterWrapper
...
This will ensure that Function<List<String>>...> can still be handled with regular converters
2020-05-20 14:56:33 +02:00
Oleg Zhurakousky
07e4de71d2
Fix Message unwrapping condition
2020-05-07 09:26:58 +02:00
Oleg Zhurakousky
10e9350697
Fix styles
2020-05-05 14:44:56 +02:00
Oleg Zhurakousky
b13f67fd98
Change from warn to debug when function is not found
2020-05-05 14:32:12 +02:00
Oleg Zhurakousky
8503c39104
Re-enable ignored tests
2020-05-04 21:09:41 +02:00
Oleg Zhurakousky
10b9e3d30d
Removed dependency on org.json
...
Resolves #508
2020-05-04 15:52:45 +02:00
Oleg Zhurakousky
a6dbaa24d2
Remove hard dependency on Gson from FCF adapter in favor of SCF proivided configurable JsonMapper
2020-04-21 14:48:14 +02:00
Oleg Zhurakousky
27494567a0
Add propagation of HTTP headers
...
Polish function composition logic
2020-04-20 18:13:45 +02:00
Oleg Zhurakousky
5f37819eae
Remove attempt to convert incoming type to target type from Requestprocessor
...
This fix effectively forces all type conversion happen in function catalog
2020-04-20 09:14:57 +02:00
Oleg Zhurakousky
7bd84c79a2
GH-499,498 Add support for SupplierExporter to control output content-type
...
- Add 'contentType' property to ExporterProperties to assist SupplierExporter with delegating it to function catalog
- Add additional logging and testing
- Change JsonMapper to abstract class providing special handling of conversion of Json Sting to byte[]
2020-04-20 07:06:18 +02:00
Oleg Zhurakousky
8791fc3b4d
Fix the implicit composition logic in BeanFactoryAwareFunctionRegistry
2020-04-17 09:56:47 +02:00