Commit Graph

410 Commits

Author SHA1 Message Date
Oleg Zhurakousky
7aa0e00f8b Remove commented code 2020-09-21 17:24:52 +02:00
Oleg Zhurakousky
4d49b4d6ec GH-568 Add support for casting resulting function as Runnable
Resolves #568
2020-09-21 17:22:38 +02:00
Oleg Zhurakousky
6863931f30 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
3115833c88 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
e19ed2ff68 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
a4763ee879 Inject LOOKUP_DESTINATION_HEADER if definition property is not used 2020-09-15 13:51:49 +02:00
Oleg Zhurakousky
2dffa30669 Change log level for default function discovery 2020-09-02 14:45:33 +02:00
Oleg Zhurakousky
f450e4a2eb 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
f4fcf1ccd0 GH-573 Ensure registered functions are accounted during the lookup
Resolves #573
2020-08-04 19:35:05 +02:00
Oleg Zhurakousky
2f36dbccb3 Various polishing to accomodate boot, reactor and other changes 2020-08-04 19:21:14 +02:00
Oleg Zhurakousky
6b9ce4cb0c 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
6a4bddc042 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
621a925507 Fix getRegistration method 2020-07-24 14:17:05 +02:00
buildmaster
83c6236f84 Going back to snapshots 2020-07-20 14:25:39 +00:00
buildmaster
f097ad64fc Update SNAPSHOT to 3.1.0-M2 2020-07-20 14:23:39 +00:00
Oleg Zhurakousky
60fba08c83 Add ability to around advice function invocation 2020-07-17 07:24:41 +02:00
Oleg Zhurakousky
13aa4700b1 Cleanup 'requestChannel' logic
Add RSocketConnectionUtils to deal with connectivity logic
2020-07-16 15:58:22 +02:00
Oleg Zhurakousky
718f785ae1 GH-554 Fix condition check for annotation processor in initializer
Resolves #554
2020-07-15 12:24:28 +02:00
Oleg Zhurakousky
ecc625b6d8 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
5fd54ab9fd 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
c7eae3e16f GH-550 Add support for wrapping value into Message if necessary
Resolves #550
2020-06-19 15:26:28 +02:00
Oleg Zhurakousky
4c32024ceb 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
9e5e35f700 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
75c718f060 Merge pull request #546 from bountin/typos
Improve language and typos
2020-06-17 08:46:20 +02:00
Martin Prebio
c17350f3c9 Fix language and typos 2020-06-16 20:39:44 +02:00
Martin Prebio
b0044890fa Reduce logger's visibility 2020-06-16 20:34:16 +02:00
Martin Prebio
355c0653fa Correct logger class name to use runtime class 2020-06-16 20:33:49 +02:00
Oleg Zhurakousky
53b385680f 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
5bed9c66ee GH-538 Fix default lookup on FunctionRegistration
Resolves #538
2020-06-11 19:17:32 +02:00
Oleg Zhurakousky
c9e0801b1d GH-503 Add test to demonstrate custom message converter usage
Resolves #503
2020-06-11 15:36:27 +02:00
Oleg Zhurakousky
af192a5adf 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
8bcfad48fa 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
52104f451a Change from v.BUILD-SNAPSHOT to v-SNAPSHOT 2020-06-03 14:56:41 +02:00
Oleg Zhurakousky
469c86e7b6 Polishing 7c8ba881c9 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
Oleg Zhurakousky
07e4de71d2 Fix Message unwrapping condition 2020-05-07 09:26:58 +02:00
Oleg Zhurakousky
10e9350697 Fix styles 2020-05-05 14:44:56 +02:00
Oleg Zhurakousky
b13f67fd98 Change from warn to debug when function is not found 2020-05-05 14:32:12 +02:00
Oleg Zhurakousky
8503c39104 Re-enable ignored tests 2020-05-04 21:09:41 +02:00
Oleg Zhurakousky
10b9e3d30d Removed dependency on org.json
Resolves #508
2020-05-04 15:52:45 +02:00
Oleg Zhurakousky
a6dbaa24d2 Remove hard dependency on Gson from FCF adapter in favor of SCF proivided configurable JsonMapper 2020-04-21 14:48:14 +02:00
Oleg Zhurakousky
27494567a0 Add propagation of HTTP headers
Polish function composition logic
2020-04-20 18:13:45 +02:00
Oleg Zhurakousky
5f37819eae 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 09:14:57 +02:00
Oleg Zhurakousky
7bd84c79a2 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 07:06:18 +02:00
Oleg Zhurakousky
8791fc3b4d Fix the implicit composition logic in BeanFactoryAwareFunctionRegistry 2020-04-17 09:56:47 +02:00
Oleg Zhurakousky
fd93beefdb Fix regression for implicit composition
Also, added message check in AWS destination resolver
2020-04-16 21:05:20 +02:00
Oleg Zhurakousky
8f7672399f Extract common code from BeanFactoryAwareFunctionRegistry
. . . to ensure that we can have the version of FunctionRegistry that is not dependent on BeanFactory.
2020-04-16 13:42:17 +02:00
Oleg Zhurakousky
895ac30604 Revert "Bumping versions"
This reverts commit 9ad788aef7.
2020-04-08 15:06:14 +02:00
buildmaster
9ad788aef7 Bumping versions 2020-04-06 18:55:27 +00:00