Commit Graph

419 Commits

Author SHA1 Message Date
Oleg Zhurakousky
ecd9902ced GH-685 Move Kotlin configurations to s-c-function-context module
Resolves #685
2021-04-12 15:02:56 +02:00
Oleg Zhurakousky
ee0bc4e28f Merge additional test to ensure propper type conversion 2021-04-10 08:10:23 +02:00
Taras Danylchuk
5afbd25d1c gh-608 issue 2021-04-10 07:59:38 +02:00
Oleg Zhurakousky
a4c1358af4 GH-677 Add spring.cloud.function.preferred-json-mapper property
Deprecate spring.http.converters.preferred-json-mapper
Resolves #677
2021-04-09 15:50:50 +02:00
Oleg Zhurakousky
2e133f9e9a Add test for FunctionAroundWrapper 2021-04-08 17:10:17 +02:00
Oleg Zhurakousky
b2f36936ac GH-662 Fix support for reactive functions in AWS
This commit also includes other minor fixes around CustomRuntime which was getting in the way of this specific issue
 Added lookup for _HANDLER env variable
 Added few tests (will need more)
 Added support for Iterable for reactive functions

Resolves #662
2021-04-08 15:57:14 +02:00
Oleg Zhurakousky
c0ed41f9c7 GH-679 Add test to validate output conversion for composed functions
Resolves #679
2021-04-07 11:53:17 +02:00
Oleg Zhurakousky
004813dfd2 Fix NPE possibility for ConversionService not being present in the Bean Factory 2021-04-01 13:56:35 +02:00
Oleg Zhurakousky
a88a8be223 Simplify FunctionInvocationHelper and its CE implementation 2021-03-24 16:31:41 +01:00
Oleg Zhurakousky
c871e5722a Polishing SDK CloudEvent integration 2021-03-19 15:52:57 +01:00
Oleg Zhurakousky
675889f549 Provide initial integration with SDK CloudEvent 2021-03-19 15:00:02 +01:00
Soby Chacko
be50084118 Array reification error with KStream[] in Kotlin
Exclude Kafka Streams functions with KStream[] return type as this
causes some array reification errors in Kotlin.

See this issue for more details: https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/1044

Resolves https://github.com/spring-cloud/spring-cloud-function/issues/669

Resolves #670
2021-03-18 19:58:07 +01:00
Oleg Zhurakousky
e82f54d69e GH-600 Fix logic in Azure adapter to ensure proper handling of sveral functions
This also addresses re-initialization of AC when the second function is invoked
Added second function to the azure examples

Resolves #600
2021-03-11 15:26:06 +01:00
Oleg Zhurakousky
29ad49cbf6 GH-437 Pass ExecutionContext via MessageHeader
Caching it as part of ApplicationContext was not the right idea so this changes it
2021-03-10 18:53:25 +01:00
Oleg Zhurakousky
cf7a990480 Polish JsonMapper and upgrade function dependency in azure adapter 2021-03-10 16:31:17 +01:00
Oleg Zhurakousky
498a52ee84 GH-661 Fix KafkaNull as input type conversion
Basically KafkaNull gets a special treatement where if we see it as Message payload and input type of the function is Message we give it as is and if the input type is POJO then we simply return null

Resolves #661
2021-03-05 12:20:29 +01:00
Oleg Zhurakousky
f80d0de0a3 GH-660 Add initial suppport for sending/receiving Messages
Resolves #660
2021-03-03 06:38:33 +01:00
Oleg Zhurakousky
1f818dd639 GH-654 Remove FunctionProperties injection from MessageRoutingCallbackRSocketTests 2021-02-24 13:31:31 +01:00
Oleg Zhurakousky
9d6a23f102 GH-654 Add more tests, cleanup and initial javadoc 2021-02-24 08:49:53 +01:00
Oleg Zhurakousky
9093852854 GH-654 remove route(Publisher) from MessageRoutingCallback 2021-02-23 17:26:08 +01:00
Oleg Zhurakousky
3b8b110e0a GH-654 Initial support for non-SpEL based routing mechanism 2021-02-23 06:19:45 +01:00
Oleg Zhurakousky
8a71f37a4d SCST-GH-2115 Ensure that in a case of KafkaNull we just return a payload 2021-02-22 16:10:05 +01:00
Oleg Zhurakousky
a24713e53b GH-649 Ignire factory bean names during discovery of a function
Resolves #649
2021-02-15 17:53:12 +01:00
Oleg Zhurakousky
b96b834cdd GH-640 Fix NPE with non-Message json conversion
Resolves #640

Added test
2021-02-05 16:12:31 +01:00
Oleg Zhurakousky
b2e783490c Fix RSocket CloudEvents sample 2021-01-27 15:29:16 +01:00
Oleg Zhurakousky
41d80433e1 GH-632 Fix type discovery on Kotlin function
Fix the way FunctionTypeUtils deals with Kotllin function when it attempts to discover their type.
Basically it checks if function-name + '_registration' nean exists and if so it skip discovery and uses the types available in FunctionRegistration which for Kotlin scenarios will always exist.

Resolves #632
2021-01-26 12:04:05 +01:00
Oleg Zhurakousky
e46b685298 Stream GH-2092 Make log statement on discovery of default function more informative 2021-01-26 08:12:04 +01:00
Oleg Zhurakousky
da7f21d9e8 GH-635 Fix support for returning empty Collections
Resolves #635
2021-01-22 16:43:55 +01:00
Oleg Zhurakousky
ad1bd31ead GH-620 Add BeanResolver support for RoutingFunction
Resolves #620

polish
2021-01-22 14:52:04 +01:00
Oleg Zhurakousky
01112f4bbb Fix getItemType() in SimpleFunctionRegistry to account for Message<?> 2021-01-11 10:43:44 +01:00
ncheema
88f2d8ed11 method already has a condition to retrieve immediateGenericType for a message
This condition was meant to be removed as part of #543

Resolves #624
2021-01-11 10:43:09 +01:00
Oleg Zhurakousky
855c70538a GH-628 Clean up logging levels
Resolves #628
2021-01-11 09:51:39 +01:00
Oleg Zhurakousky
8ece3d3083 Add stream (kafka, Rabbit) and Rsocket examples for Cloud Event 2020-12-18 16:44:29 +01:00
Oleg Zhurakousky
17d5d4b727 Modify logic for header copy from input to output
This is primarily related to Cloud Events. Since we delegate to a separate class for post processing, if outpt message is Cloud Event we will not be doing anything to with regard to header copy in SimpleFunctionRegistry and unstead delegate it to CloudEventFunctionInvocationHelper
2020-12-18 16:44:19 +01:00
Oleg Zhurakousky
5e468fba73 Fix payload extraction during output conversion
Also, restructured CloudEventsFunctionInvocationHelper's postProcessig logic
2020-12-12 13:48:47 +01:00
Oleg Zhurakousky
30febe6bce Cleaned up Cloud Event support around reactive functions
Added reactive tests
Restructured CloudEventsFunctionInvocationHelper
2020-12-11 14:34:32 +01:00
Oleg Zhurakousky
096df2f22c SCST-2065 Fix deserialization error when multi IO signature
Fix deserializatioin error when using complex signatures such as Function<Tuple2<Flux<Message<String>>
The issue originated from spring cloud stream https://github.com/spring-cloud/spring-cloud-stream/issues/2065
2020-12-10 15:53:05 +01:00
Oleg Zhurakousky
066b154508 interim 2020-12-10 07:56:15 +01:00
Oleg Zhurakousky
6b03cf7a1e Polish previous commit
Add FunctionInspector dependency back to SimpleFunctionRegistry since we can't remove it yet to avoid backward comatibility issues

Resolves #617
2020-12-08 18:44:16 +01:00
Mingyuan Wu
b4f193fd3c Disconnect FunctionInspector from AbstractComposableFunctionRegistry and SimpleFunctionRegistry 2020-12-08 17:31:56 +01:00
Oleg Zhurakousky
5299de10c3 Minor improvements and clean up Cloud Event package 2020-12-03 20:31:17 +01:00
Oleg Zhurakousky
119a688388 Consolidate Cloud Events attribute prefix swap logic 2020-12-02 18:56:51 +01:00
Oleg Zhurakousky
aede56dfc6 Fix Cloud Events support for Message functions
Ensured Cloud Event completness by adding assertion for required attributes as well as generation of default values for attributes such as ID and SPECVERSION
2020-12-02 18:22:17 +01:00
Oleg Zhurakousky
923d5204e4 Tidy up logic around canonicalization of attributes
Added initial test to validate builder and utils
2020-12-02 15:17:17 +01:00
Oleg Zhurakousky
753d6369a2 interim 2020-12-02 13:10:05 +01:00
Oleg Zhurakousky
91b343aa0f interim 2020-12-02 12:45:45 +01:00
Oleg Zhurakousky
523cd1023f Change canonical format of Cloud Event Message attributes to have 'ce-' prefix 2020-12-02 11:24:03 +01:00
Oleg Zhurakousky
0cdcc46f57 Minor cleanup and javadocs 2020-12-02 09:20:50 +01:00
Oleg Zhurakousky
306da4248a Restructure Cloud Events support to optionally support Cloud Events SDK 2020-12-01 22:12:34 +01:00
Oleg Zhurakousky
70fbcec586 Revert "Add a new strategy for header enrichment"
This reverts commit 6852d674e1.
2020-11-30 15:23:42 +01:00