Commit Graph

424 Commits

Author SHA1 Message Date
Oleg Zhurakousky
b61e357144 Add function type discovery method to FunctionTypeUtils 2020-10-22 09:58:34 +02:00
Oleg Zhurakousky
222aac77cc GH-596 Add support for handling conversion of complex types
Resolves #596
2020-10-21 14:36:50 +02:00
Oleg Zhurakousky
7061ae39cc Add FunctionInspector back to SimpleFunctionRegistry
Even though it is deprecated and SimpleFunctionRegistry will throw UnsupportedOperationException in case getRegistration() methid is called we need to re-enable it temporarily to mitigate breaking API changes
2020-10-20 15:39:57 +02:00
Oleg Zhurakousky
14ab5ac1b3 Disconnect FunctionInspector from adapter request handlers and Kotlin module 2020-10-20 13:58:51 +02:00
Oleg Zhurakousky
818cda144c Deprecate and remove all usages of FunctionInspector 2020-10-19 18:11:11 +02:00
Oleg Zhurakousky
3f1315c523 Consolidate isMessage() operation 2020-10-19 14:57:55 +02:00
Oleg Zhurakousky
e58643c032 Clean up FunctionTypeUtils 2020-10-19 14:44:37 +02:00
Oleg Zhurakousky
b61b24a9b2 Deprecate Flux* function interfaces 2020-10-19 13:20:51 +02:00
Oleg Zhurakousky
89466b5cdc Refactor FunctionCatalog implementation 2020-10-16 17:59:06 +02:00
buildmaster
349f084bd0 Going back to snapshots 2020-10-02 09:22:55 +00:00
buildmaster
9a6a2abb3d Update SNAPSHOT to 3.1.0-M4 2020-10-02 09:20:53 +00:00
David Turanski
22a9733eb4 Fix get() conditional return
Resolves #591
2020-09-28 11:18:56 +02:00
buildmaster
d7a302133e Going back to snapshots 2020-09-23 14:34:33 +00:00
buildmaster
80b62f5ebe Update SNAPSHOT to 3.1.0-M3 2020-09-23 14:32:21 +00:00
Oleg Zhurakousky
612d54ba53 Remove commented code 2020-09-21 17:24:52 +02:00
Oleg Zhurakousky
43290cc529 GH-568 Add support for casting resulting function as Runnable
Resolves #568
2020-09-21 17:22:38 +02:00
Oleg Zhurakousky
9f700bf2f2 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
186c0b7a26 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
d3afd1fea4 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
e1adb011ab Inject LOOKUP_DESTINATION_HEADER if definition property is not used 2020-09-15 13:51:49 +02:00
Oleg Zhurakousky
368ac59655 Change log level for default function discovery 2020-09-02 14:45:33 +02:00
Oleg Zhurakousky
85b591cb89 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
99b158b932 GH-573 Ensure registered functions are accounted during the lookup
Resolves #573
2020-08-04 19:35:05 +02:00
Oleg Zhurakousky
ddba54dee6 Various polishing to accomodate boot, reactor and other changes 2020-08-04 19:21:14 +02:00
Oleg Zhurakousky
b245812c6b 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
cd9f594629 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
0a831e39ae Fix getRegistration method 2020-07-24 14:17:05 +02:00
buildmaster
4213d19180 Going back to snapshots 2020-07-20 14:25:39 +00:00
buildmaster
ae4efc2b9d Update SNAPSHOT to 3.1.0-M2 2020-07-20 14:23:39 +00:00
Oleg Zhurakousky
bc48a80291 Add ability to around advice function invocation 2020-07-17 07:24:41 +02:00
Oleg Zhurakousky
bc7376f2a6 Cleanup 'requestChannel' logic
Add RSocketConnectionUtils to deal with connectivity logic
2020-07-16 15:58:22 +02:00
Oleg Zhurakousky
66fd153a1b GH-554 Fix condition check for annotation processor in initializer
Resolves #554
2020-07-15 12:24:28 +02:00
Oleg Zhurakousky
d6e36081f6 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
2e5c670a28 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
62ab95196e GH-550 Add support for wrapping value into Message if necessary
Resolves #550
2020-06-19 15:26:28 +02:00
Oleg Zhurakousky
4936a8676d 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
a97bdcafd4 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
fdbbcc4e45 Merge pull request #546 from bountin/typos
Improve language and typos
2020-06-17 08:46:20 +02:00
Martin Prebio
ce0d5c9e64 Fix language and typos 2020-06-16 20:39:44 +02:00
Martin Prebio
dadbccdec9 Reduce logger's visibility 2020-06-16 20:34:16 +02:00
Martin Prebio
c100de2326 Correct logger class name to use runtime class 2020-06-16 20:33:49 +02:00
Oleg Zhurakousky
116c6c95cd 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
59cb91103e GH-538 Fix default lookup on FunctionRegistration
Resolves #538
2020-06-11 19:17:32 +02:00
Oleg Zhurakousky
00ffb59b99 GH-503 Add test to demonstrate custom message converter usage
Resolves #503
2020-06-11 15:36:27 +02:00
Oleg Zhurakousky
6bfc614f9f 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
dfa02750c1 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
c6dc8f9a72 Change from v.BUILD-SNAPSHOT to v-SNAPSHOT 2020-06-03 14:56:41 +02:00
Oleg Zhurakousky
d6bfac3684 Polishing 0df050ec32 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