Commit Graph

257 Commits

Author SHA1 Message Date
kjg
92822663dc gh-1098 Java's basic type
function Unit Test Add
 Resolves #1098
2024-10-31 10:34:12 +01:00
Oleg Zhurakousky
e3b968d0ee GH-1196 Recactor registratio of Kotlin module
Resolves #1196
2024-10-23 09:58:35 +02:00
spencergibb
d120eb0731 Updates to*Case() to use Locale.ROOT 2024-10-18 10:53:24 -04:00
Oleg Zhurakousky
63cdb68b3a GH-1189 Fix regression with ObjectMapper configurationb
Resolves #1189
2024-10-16 16:54:13 +02:00
Garus, Henning
2bfaabb570 GH-1156 Remove org.json:json dependency
Use the already present Jackson ObjectMapper  instead to provide the same behaviour, where a value is parsed to check if it is a valid json structure, ie an array or an object.

Resolves #1173
Resolves #1156
2024-08-16 10:18:31 +02:00
Oleg Zhurakousky
d8e67c8df9 GH-1149 Remove condition on FunctionCatalog
It actually no longer required. It was added when certain other auto-configurations were present that are no longer exist, so effectively it was a leftover

Resolves #1149
2024-07-09 12:30:02 +02:00
Oleg Zhurakousky
6ffae9397a GH-1141 Add support for composing reactive Supplier/Function with imperative Consumer
Resolves #1141
2024-06-06 11:38:19 +02:00
akenra
faeb0f77ad GH-1106 Fix RoutingFunction fail when "spring.cloud.function.definition" header contains a List value instead of a String value (GCP-specific)
Resolves #1106
Resolves #1146
2024-06-05 15:11:36 +02:00
Oleg Zhurakousky
67180ac1a1 1144 Fix propagation of skipInputConversion
Resolves #1144
2024-05-27 13:39:41 +02:00
Oleg Zhurakousky
c0f4cba30d GH-1140 Add data masking capabilities for JSON logging
Resolves #1140
2024-04-30 15:20:56 +02:00
Oleg Zhurakousky
59fe298b67 GH-1139 Fix function composition with non-existing functions
Resolves #1139
2024-04-29 16:57:37 +02:00
Oleg Zhurakousky
be45a47818 GH-1094 Refactor JSON string parsing
It appears that primitive way of checkong for {} amd [] did not play well with protobuf so this commit represnts alternative approach

Resolves #1094
2024-03-27 22:54:10 +01:00
Oleg Zhurakousky
d70079eb4d GH-1117 Enhance support for function composition to handle null returns
Resolves #1117
2024-03-27 19:05:21 +01:00
Oleg Zhurakousky
8745f32ac2 GH-1097 Ensure empty POJO converted to {} instead of null
Resolves #1097
2024-03-27 18:31:32 +01:00
sheheryar aamir
7969d06fc8 GH-1127 Fix String cast to OffsetDateTime issue for CloudEventMessageUtils
Resolves #1127

Resolves #1128
2024-03-27 16:26:18 +01:00
Oleg Zhurakousky
3931ea4f14 GH-1104 Add support for case insensitive routing header names
Resolves #1104
2024-01-31 13:53:24 +01:00
Jeffrey Douangpaseuth
fb0af94da2 fix JsonMessageConverter mimetype NPE 2024-01-30 17:21:53 -05:00
Oleg Zhurakousky
8e9948c4c3 GH-1075 Fix conversion of complex types
Resolves #1075
2023-10-13 10:25:35 +02:00
Oleg Zhurakousky
afb419d701 GH-1063 Fix header propagation in composed function
Resolves #1063
2023-09-25 13:11:59 +02:00
Oleg Zhurakousky
9f04138e4f GH-1065 Fix Collection discovery in JsonMapper
Resolves #1065
2023-08-30 15:22:52 +02:00
Chris Bono
7bc499ddea Do not convert text/plain content to JSON
Fixes bug and removes test comments from previous commit.

Resolves #1056
2023-08-07 14:22:52 +02:00
Chris Bono
c97c0b2a96 Add tests to illustrate the bug 2023-08-07 14:16:18 +02:00
Oleg Zhurakousky
6969ec9720 GH-1043 Add support for communicating type via MimeType parameter for JsonMessageConverter
Resolves #1043
2023-06-01 16:58:46 +02:00
Soby Chacko
0ba011a903 Function wrapping BiConsumer improvements
When a BiConsumer user function is provided, we wrap it inside a Function
when registering it in FunctionRegstration. FunctionInvocationWrapper sees
this as a Function and downstream clients (such as Spring Cloud Stream) does
not have visibility into the user function type from a FunctionInvocationWrapper
API perspective. This commit propagates the BiConsumer targer user function info
as part of FunctionInvocationWrapper API.

For more information, see: https://github.com/spring-cloud/spring-cloud-stream/issues/2670
Resolves #1016
2023-03-24 11:39:29 +01:00
Oleg Zhurakousky
9491c9ce04 GH-958 Add support for default routing
Resolves #958
2022-11-17 11:27:32 +01:00
Oleg Zhurakousky
fd65decdb6 GH-944 Remove deprecations and update documentation for MessageRoutingCallback
Resolves #944
2022-10-25 16:01:06 +02:00
Oleg Zhurakousky
857fa022f4 Polishing previous observability comit 2022-10-20 11:12:58 +02:00
Oleg Zhurakousky
0abfeee528 GH-924 Fix regression with structured CE cnversion into Message
Resolves #924
2022-09-08 16:20:43 +02:00
Soby Chacko
c8109270d2 Remove AVRO message converters in 4.0.x
Since we are migrating Schema Registry to Spring Cloud Stream,
the AVRO message converters in Spring Cloud Function could reside
in Spring Cloud Stream as part of its Schema Registry.

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

Resolves #922
2022-08-29 18:56:21 +02:00
Oleg Zhurakousky
e83b0dfabe GH-919 Fix regression that was modifying result message
Resolves #919
2022-08-24 16:19:22 +02:00
Oleg Zhurakousky
a7a8217f58 Remove functionType deprecations 2022-07-27 17:41:09 +02:00
Chris Bono
fc0dacb893 GH-892 Remove use of reflection from CloudEventMessageUtils
Fixes #892
Resolves #894
2022-07-13 14:18:42 +02:00
Oleg Zhurakousky
b3f564b40f Fix function eligibility filtering 2022-06-16 18:27:23 +02:00
Oleg Zhurakousky
39e4bed412 GH-884 Add initial support for BiFunction
Resolves #884

polish
2022-06-14 09:36:09 +02:00
Oleg Zhurakousky
9f9d5602e7 GH-883 Add support for filtering out ineligible functions
Resolves #883
2022-06-13 15:46:45 +02:00
Oleg Zhurakousky
724ba06c11 Fix FunctionTypeUtils as well as LocalServerPort issue
Resolves #871
2022-06-07 16:01:50 +02:00
Artem Bilan
66b88f2f1e FunctionTypeUtils test for NPE
Related to https://stackoverflow.com/questions/72163534/spring-batch-integration-throwns-org-springframework-messaging-messagehandlingex

The `FunctionTypeUtils.isMessage()` fails with NPE
when target method has non-message argument with generic parameter.
Even if we instantiate the class with specific generic argument,
that info is not available for reflection and `MethodParameter`
end up with a generic parameter name which is essentially a `TypeVariable`

The stacktrace is like this:
```
java.lang.NullPointerException: Cannot invoke "java.lang.Class.getGenericInterfaces()" because "targetType" is null

	at net.jodah.typetools.TypeResolver.getTypeVariableMap(TypeResolver.java:494)
	at net.jodah.typetools.TypeResolver.resolveRawClass(TypeResolver.java:387)
	at net.jodah.typetools.TypeResolver.resolveRawClass(TypeResolver.java:373)
	at org.springframework.cloud.function.context.catalog.FunctionTypeUtils.isMessage(FunctionTypeUtils.java:416)
```
2022-06-07 15:21:09 +02:00
Oleg Zhurakousky
4661ab186b GH-873 Fix JsonNode conversion
Resolves #873
2022-05-30 14:39:03 +02:00
Oleg Zhurakousky
085ae9f620 GH-878 Fix concurrency issue during registration and lookup of functions
Resolves #878
2022-05-30 12:11:36 +02:00
Oleg Zhurakousky
3bfa5faa44 GH-791 Add support for propagating input headers
Resolves #791

polishing merge
2022-05-04 14:48:14 +02:00
Oleg Zhurakousky
536bd3920f Remove observability 2022-05-03 19:48:16 +02:00
spencergibb
470eda85a7 Revert "Remove io.micrometer.observation code"
This reverts commit 830a7e7cc2.
2022-03-31 16:09:58 -04:00
spencergibb
830a7e7cc2 Remove io.micrometer.observation code 2022-03-31 13:05:24 -04:00
Oleg Zhurakousky
97a55a3608 GH-828 Add support for configuring additional routers
Resolves #828
2022-03-24 18:26:41 +01:00
Oleg Zhurakousky
bbf56b0744 GH-830 Fix conversioin exception for custom converters
Resolves #830
2022-03-23 17:17:49 +01:00
Oleg Zhurakousky
bb3f33f1c5 Fix deprecations and breaking changes caused by dependencies 2022-03-17 14:59:04 +01:00
Oleg Zhurakousky
a364aaf86a GH-823 Polishing
Resolves #823
2022-03-04 17:03:07 +01:00
Marcin Grzejszczak
ea3be5ef39 GH-823 Add initial support for Observability 2022-03-04 16:59:43 +01:00
onobc
dc52af8df6 Improve ContextFunctionCatalogAutoConfiguration conditional loading
- Allow custom AvroSchemaServiceManager to be used
- Make AvroSchemaMessageConverter bean method specifically typed
- Make CloudEventsMessageConverter bean method specifically typed
- Add tests focusing on the conditional loading aspects of the auto configuration

Fixes gh-797
Resolves #814
2022-02-23 15:43:15 +01:00
Oleg Zhurakousky
be031cd315 GH-816 Enhance test validating collection output 2022-02-23 15:08:18 +01:00