Commit Graph

319 Commits

Author SHA1 Message Date
Oleg Zhurakousky
325c9b44b0 Fix test 2020-11-23 20:27:03 +01:00
Greg Eales
995b3425a8 GH-612: Better tests and implementation
Resolves #613
2020-11-23 20:15:48 +01:00
Greg Eales
a5e045731f GH-612: make the ignored tests work 2020-11-23 19:57:15 +01:00
Greg Eales
5e5601e48e GH-612: Fix conversion from JSON for Flux<Message<Person>>
* When using MappingJackson2MessageConverter
2020-11-23 19:57:15 +01:00
Oleg Zhurakousky
9c777b8d04 GH-611 Fix regression for expectedContentType 2020-11-20 22:40:49 +01:00
Oleg Zhurakousky
6ee8205aea GH-609 Fix Flux to Mono and Mono to Flux transformation
Given that s-c-f-web always produces input as Flux, Function<Mono, Mono> were having issues. This fixes it
2020-11-20 12:00:41 +01:00
Oleg Zhurakousky
b29cf507cf GH-608 Fix complex type conversion regression
Resolves #608
2020-11-20 11:13:31 +01:00
Oleg Zhurakousky
733f196cf6 GH-592 Logging improvements in SimpleFunctionRegistry 2020-11-09 19:48:22 +01:00
Oleg Zhurakousky
746ce3fbce Fix styles 2020-11-09 19:42:43 +01:00
Oleg Zhurakousky
a38d46b593 GH-601 add test to validate the issue is fixed
Resolves #601
2020-11-09 15:55:20 +01:00
Oleg Zhurakousky
445606886b GH-602 Ensure conversion does not happen if type match
Resolves #602
2020-11-06 12:20:02 +01:00
Oleg Zhurakousky
d656b529bb Fix formatting issue 2020-11-05 16:40:37 +01:00
Oleg Zhurakousky
477b5530f7 GH-602 Add test to validate issue 2020-11-05 16:34:37 +01:00
Oleg Zhurakousky
cd461f1881 Add skipInput/Output attributes to SimpleFunctionRegistry 2020-10-23 18:18:54 +02:00
Oleg Zhurakousky
5b68421732 GH-596 Add support for handling conversion of complex types 2020-10-21 15:22:25 +02:00
David Turanski
53592469eb Fix get() conditional return
Resolves #591
2020-09-28 11:20:04 +02:00
Oleg Zhurakousky
8a87f08525 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:24:59 +02:00
Oleg Zhurakousky
6df15f8a8a 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 19:25:38 +02:00
Oleg Zhurakousky
13348af5e1 GH-573 Ensure registered functions are accounted during the lookup
Resolves #573
2020-08-04 19:35:44 +02:00
Oleg Zhurakousky
2a72f8359b 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:19:57 +02:00
Oleg Zhurakousky
b486e5a104 Add fromMessage wrapper to handle collections 2020-07-27 14:26:32 +02:00
Oleg Zhurakousky
d447747a77 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:46:45 +02:00
Oleg Zhurakousky
a9cd4c9b84 Fix getRegistration method 2020-07-24 14:19:52 +02:00
Oleg Zhurakousky
72ac946c52 Disable NegotiatingMessageConverter 2020-07-16 17:45:55 +02:00
Oleg Zhurakousky
15842c5e15 GH-554 Fix condition check for annotation processor in initializer
Resolves #554
2020-07-15 12:25:08 +02:00
Oleg Zhurakousky
ba4f5211f1 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:37:41 +02:00
Oleg Zhurakousky
0537ce061b 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-15 09:41:04 +02:00
Oleg Zhurakousky
98fd8ca9cd GH-550 Add support for wrapping value into Message if necessary
Resolves #550
2020-06-19 15:27:21 +02:00
Oleg Zhurakousky
62e8132fce Polish test 2020-06-17 09:53:52 +02:00
Oleg Zhurakousky
c5de8dba17 Polish previous commit
Add author tag
Rename 'getPayloadType' method to 'getGenericType' and ad javadoc

Resolves #543
2020-06-17 09:35:18 +02:00
anshlykov
9f30a296dd SimpleFunctionRegistryTests: reactive function test case
FunctionTypeUtils#isTypeCollection: unwrap publisher

JsonMessageConverter: handler for a ParameterizedType conversionHint

refactor
2020-06-17 09:34:55 +02:00
Oleg Zhurakousky
8c092ee463 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:55:05 +02:00
Oleg Zhurakousky
39f8dcf6d2 Fix test 2020-06-11 19:36:20 +02:00
Oleg Zhurakousky
90249d4b1c GH-538 Fix default lookup on FunctionRegistration
Resolves #538
2020-06-11 19:25:26 +02:00
Oleg Zhurakousky
a1dc7e3181 GH-503 Add test to demonstrate custom message converter usage
Resolves #503
2020-06-11 15:37:04 +02:00
Oleg Zhurakousky
8060790d1e 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:29:18 +02:00
Oleg Zhurakousky
19ab6b9946 Polishing 528419cf 2020-05-28 09:26:44 +02:00
Oleg Zhurakousky
0580e9c7a5 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-27 14:10:25 +02:00
Oleg Zhurakousky
b9f4db91a4 Add special handling for collections NegotiatingMessageConverterWrapper
This will ensure that Function<List<String>>...> can still be handled with regular converters
2020-05-22 12:27:46 +02:00
Oleg Zhurakousky
41acbfd438 Fix Message unwrapping condition 2020-05-07 10:33:45 +02:00
Oleg Zhurakousky
9310898396 Fix styles 2020-05-05 14:53:48 +02:00
Oleg Zhurakousky
ad3c0f15bb Change from warn to debug when function is not found 2020-05-05 14:51:56 +02:00
Oleg Zhurakousky
e3ee776c04 Re-enable ignored tests 2020-05-05 14:51:43 +02:00
Oleg Zhurakousky
1bc20fa557 Removed dependency on org.json
Resolves #508
2020-05-05 14:50:56 +02:00
Oleg Zhurakousky
40c208c124 Fix condition for payload extraction before invocation
We need to only extract payload for cases where input is coming from SCF-Web
2020-04-22 13:56:32 +02:00
Oleg Zhurakousky
cfe534660e Remove hard dependency on Gson from FCF adapter in favor of SCF proivided configurable JsonMapper 2020-04-21 15:15:59 +02:00
Oleg Zhurakousky
defd2b962a Add propagation of HTTP headers
Polish function composition logic
2020-04-20 18:18:02 +02:00
Oleg Zhurakousky
2ca5282019 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 18:17:54 +02:00
Oleg Zhurakousky
7d66672104 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 18:17:23 +02:00
Oleg Zhurakousky
2fa75594a3 Fix the implicit composition logic in BeanFactoryAwareFunctionRegistry 2020-04-20 18:17:13 +02:00