Commit Graph

428 Commits

Author SHA1 Message Date
Tsypov Dmitriy
fe2edeef38 GH-699 Fixed a bug where Kotlin Lambda was incorrectly converted to a consumer function
Fixed consumer type

Fixed tests

Added javadoc @author tag

Resolves #699
Resolves #700
2021-05-20 06:58:10 +02:00
Oleg Zhurakousky
b14c86a3d1 GH-676 Improvements to header enrichment 2021-05-19 16:52:50 +02:00
Oleg Zhurakousky
280b8844c7 GH-676 Add initial support for mapping/re-mapping input headers
Add BeanResolver
2021-05-14 10:16:41 +02:00
Oleg Zhurakousky
ea6d15e0aa Change deprecate json mapper property
Resolves #693
2021-05-11 15:51:09 +02:00
Oleg Zhurakousky
7d053862ce Add javadoc on new public method
Resolves #690
2021-04-26 15:16:47 +02:00
Soby Chacko
007d1f06ea GH-689: Native compilation related changes
Provide mutator/accessor for enhancer filed in FunctionInvocationWrapper
in SimpleFunctionRegistry. This is required by graalvm native compilation in
Spring Cloud Stream applications.

Resolves https://github.com/spring-cloud/spring-cloud-function/issues/689
2021-04-22 19:57:50 -04:00
Oleg Zhurakousky
8f8e5172ba polishing 2021-04-15 16:52:04 +02:00
Oleg Zhurakousky
c5ce314032 GH-680 Add additional DEBUG logging to CloudEventsFunctionInvocationHelper 2021-04-14 20:01:54 +02:00
Oleg Zhurakousky
15c58fd63f GH-680 Add support for strict (or not) dependency on target-protocol header for CE
Resolves #680
2021-04-14 18:49:01 +02:00
Oleg Zhurakousky
d22d66bc20 GH-685 Move Kotlin configurations to s-c-function-context module
Resolves #685
2021-04-12 15:02:56 +02:00
Oleg Zhurakousky
92468bcd53 Merge additional test to ensure propper type conversion 2021-04-10 08:10:23 +02:00
Taras Danylchuk
2c82cf91f8 gh-608 issue 2021-04-10 07:59:38 +02:00
Oleg Zhurakousky
376aae2d67 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
4837efdcca Add test for FunctionAroundWrapper 2021-04-08 17:10:17 +02:00
Oleg Zhurakousky
fc42819357 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
324a978dab GH-679 Add test to validate output conversion for composed functions
Resolves #679
2021-04-07 11:53:17 +02:00
Oleg Zhurakousky
9c5a937496 Fix NPE possibility for ConversionService not being present in the Bean Factory 2021-04-01 13:56:35 +02:00
Oleg Zhurakousky
cbee6603d0 Simplify FunctionInvocationHelper and its CE implementation 2021-03-24 16:31:41 +01:00
Oleg Zhurakousky
6c2758e2d3 Polishing SDK CloudEvent integration 2021-03-19 15:52:57 +01:00
Oleg Zhurakousky
ecafecaecc Provide initial integration with SDK CloudEvent 2021-03-19 15:00:02 +01:00
Soby Chacko
6401697f18 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
b0ef4522d4 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
3c5d905eab 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
863bbdc3eb Polish JsonMapper and upgrade function dependency in azure adapter 2021-03-10 16:31:17 +01:00
Oleg Zhurakousky
5a43e94ebe 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
694d831adf GH-660 Add initial suppport for sending/receiving Messages
Resolves #660
2021-03-03 06:38:33 +01:00
Oleg Zhurakousky
1f43bbce28 GH-654 Remove FunctionProperties injection from MessageRoutingCallbackRSocketTests 2021-02-24 13:31:31 +01:00
Oleg Zhurakousky
410d494467 GH-654 Add more tests, cleanup and initial javadoc 2021-02-24 08:49:53 +01:00
Oleg Zhurakousky
a838f31be6 GH-654 remove route(Publisher) from MessageRoutingCallback 2021-02-23 17:26:08 +01:00
Oleg Zhurakousky
29115aeb64 GH-654 Initial support for non-SpEL based routing mechanism 2021-02-23 06:19:45 +01:00
Oleg Zhurakousky
c01b25f2fa 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
73bd787c8d GH-649 Ignire factory bean names during discovery of a function
Resolves #649
2021-02-15 17:53:12 +01:00
Oleg Zhurakousky
c4dfffe0ba GH-640 Fix NPE with non-Message json conversion
Resolves #640

Added test
2021-02-05 16:12:31 +01:00
Oleg Zhurakousky
a6cb0fde3c Fix RSocket CloudEvents sample 2021-01-27 15:29:16 +01:00
Oleg Zhurakousky
2a356812ac 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
0e6260942b Stream GH-2092 Make log statement on discovery of default function more informative 2021-01-26 08:12:04 +01:00
Oleg Zhurakousky
fbc2ca815a GH-635 Fix support for returning empty Collections
Resolves #635
2021-01-22 16:43:55 +01:00
Oleg Zhurakousky
3d4bd14926 GH-620 Add BeanResolver support for RoutingFunction
Resolves #620

polish
2021-01-22 14:52:04 +01:00
Oleg Zhurakousky
d9a0add8b8 Fix getItemType() in SimpleFunctionRegistry to account for Message<?> 2021-01-11 10:43:44 +01:00
ncheema
9bbb86be2d 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
d0a0da24bc GH-628 Clean up logging levels
Resolves #628
2021-01-11 09:51:39 +01:00
Oleg Zhurakousky
bc4b5b3f80 Add stream (kafka, Rabbit) and Rsocket examples for Cloud Event 2020-12-18 16:44:29 +01:00
Oleg Zhurakousky
eb95e1dd78 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
285fd66858 Fix payload extraction during output conversion
Also, restructured CloudEventsFunctionInvocationHelper's postProcessig logic
2020-12-12 13:48:47 +01:00
Oleg Zhurakousky
e86d397433 Cleaned up Cloud Event support around reactive functions
Added reactive tests
Restructured CloudEventsFunctionInvocationHelper
2020-12-11 14:34:32 +01:00
Oleg Zhurakousky
7403a51464 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
9edc08d97e interim 2020-12-10 07:56:15 +01:00
Oleg Zhurakousky
90c3c35f68 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
271bc22969 Disconnect FunctionInspector from AbstractComposableFunctionRegistry and SimpleFunctionRegistry 2020-12-08 17:31:56 +01:00
Oleg Zhurakousky
bdcb232e42 Minor improvements and clean up Cloud Event package 2020-12-03 20:31:17 +01:00