Commit Graph

555 Commits

Author SHA1 Message Date
Dave Syer
16fb340de5 Alternative strategy for failing HTTP request in test 2019-02-19 10:43:13 +00:00
Dave Syer
a622d86d3b Add support for MonoSupplier 2019-02-19 10:28:41 +00:00
Oleg Zhurakousky
a945f34ebd GH-261 additional cleanup in function catalog consolidation 2019-02-18 23:15:21 +01:00
Oleg Zhurakousky
0d7e0cc57c GH-261 Added support for function composition InMemoryFunctionCatalog
- Refactored InMemoryFunctionCatalog and BeanFactoryFunctionCatalog into common catalog implementation
- Added initial test

Resolves #261
2019-02-18 22:05:19 +01:00
Dave Syer
217ca065f3 Update thin jar version in a couple of places 2019-02-15 14:24:56 +00:00
Oleg Zhurakousky
0994a244e0 Polishing, fixed checkstyles, added author tag
Resolves #256
Resolves #260
2019-02-15 10:39:59 +01:00
Semyon Fishman
8c4c1aefde GH-256, Add AWS support for Consumer's and Supplier's
Added support for Consumer and Supplier functions when executing within AWS Lambda.

It appears that this was previously supported but was removed in 083d5e for some reason.

Improve Consumer support for AWS API Gateway

Consumer type functions, by definition, do not return anything; i.e. they do not have a response.  However when executing within a Lambda + API Gateway environment, the Lambda must still return a 200-level status response to signal the API Gateway that the function executed succesfully.   I added the logic for this.

Improve Supplier support for AWS API Gateway

Supplier functions, by defnition, do not take input; in the case of API Gateway calls this type of execution passes a null body, which fails to deserialize and throws an exception.  I added logic that skips the deserialization of the body in the case it is a Supplier.
2019-02-15 10:23:54 +01:00
Oleg Zhurakousky
94106dba48 GH-258 Polishing around duplicqte registration
Removwd formatter plugin
Added additional test

Resolves #258
Resolves #259
2019-02-15 10:15:13 +01:00
Semyon Fishman
95a462467e GH-258, Avoid duplicate registration of functional bean
Added logic in FunctionalSpringApplication to avoid registering the functional bean twice.  This issue occured when executing in "hybrid" mode, and using the same bean as both the application context source and functional bean.
2019-02-13 11:40:25 -05:00
Oleg Zhurakousky
c797e4fed4 Minor refactoring in ContextFunctionRegistry 2019-02-12 15:30:52 +01:00
Oleg Zhurakousky
b076f6349e Consolidated all function wrappers around WrappedFunction 2019-02-11 19:08:52 +01:00
Oleg Zhurakousky
f8e966f79f GH-243 Added wrapper for fluxed Function 2019-02-11 17:08:09 +01:00
Oleg Zhurakousky
805b85b102 GH-243, GH-257 Added reactive consumer wrapper
- Added wrapper for an already reactive consumer to ensure that consumers can be consistently represented as Function<Flux, Mono>
- Fixed the big that deal with inconsistent result in web environments due to inconsistent representation of the Consumers
- Polished tests

Resolves #243
Resolves #257
2019-02-11 15:30:08 +01:00
Artem Bilan
660aebc4d9 Add Spring Integration Sample
Demonstrates how `IntegrationFlow` can be exposed as a `Function`

* Upgrade to the latest dependencies

* Polishing
Resolves #214
2019-02-06 19:10:40 +01:00
Oleg Zhurakousky
b1fa949dd9 More polishing in ContextFunctionCatalog 2019-02-06 19:08:44 +01:00
Oleg Zhurakousky
5b98c01d2a Removed duplication of fluxification logic
- Removed duplication of fluxification logic in FunctionRegistration and ContextFunctionCatalog.
- Polished FunctionRegistration.wrap logic
- Added initial javadoc
2019-02-06 16:39:58 +01:00
Oleg Zhurakousky
632b2bf6ab interim 2019-02-06 15:31:31 +01:00
Oleg Zhurakousky
194858bf60 GH-253 Updated AZUR library 2019-02-06 07:59:51 +01:00
Oleg Zhurakousky
79cdf3c9b5 Additional cleanup and refactoring in ContextFunctionCatalog 2019-02-06 00:02:50 +01:00
Oleg Zhurakousky
6a2717a580 Tidy up ContextFunctionCatalog 2019-02-05 23:03:46 +01:00
Marcin Grzejszczak
c6ddfe1af4 Added checkstyle for tests 2019-02-03 15:34:10 +01:00
Marcin Grzejszczak
e4b08a083c Turned on checkstyle 2019-02-01 15:48:32 +01:00
buildmaster
94e9b8f2f8 Bumping versions to 2.0.2.BUILD-SNAPSHOT after release 2019-01-31 14:48:58 +00:00
buildmaster
036e0c4090 Going back to snapshots 2019-01-31 14:48:57 +00:00
buildmaster
eaf519b82a Update SNAPSHOT to 2.0.1.RELEASE 2019-01-31 14:34:17 +00:00
Oleg Zhurakousky
2474b7db68 Added deploy 'skip' to deployer integration test POM 2019-01-31 15:29:40 +01:00
Dave Syer
e154128d51 Organize some imports 2019-01-31 09:47:42 +00:00
Oleg Zhurakousky
589e451d14 GH-247 Added spring.cloud.function.definition property
Added spring.cloud.function.definition property which is used by FunctionRegistry as a supplement instruction to resolve nameless lookups.
It is used by web module to map single or multiple (composed) functions to the root path (/)

Resolves #247
2019-01-28 18:47:18 +01:00
Oleg Zhurakousky
3196a2ee8b Fixed exception handling in RequestProcessor
Fixed exception handling in the RequestProcessor for cases where input can not be determined before function invocation
2019-01-28 16:24:45 +01:00
Oleg Zhurakousky
de73c51462 Allowed 'java.*', rather then just 'java.annotation' loading for jdk 11 2019-01-28 13:59:28 +01:00
Oleg Zhurakousky
a2df13d1b3 GH-251 Fixed JDK 11 issues
- Added JDK 11 hook in FunctionCreatorConfiguration for javax.annotation to be loaded from current CL
- Ensured the file: protocol resources end with the forward slash. See UrlClassPath.getLoader of JDK 11 for more details as to why
- Re-enabled conditional  tests by removing Java 8 assumptions
- Part of the issue was also, the invoker plugin which was only generating ‘it/..’ directory every other time due to exists condition, thus resulting in some test failures every other time (missing directory)

Resolves #251
2019-01-25 15:13:55 +01:00
buildmaster
741341f43a Bumping versions 2019-01-25 12:56:04 +00:00
Oleg Zhurakousky
f405527dd7 GH-251 Initial attempt to fix Java 11 issues
polishing

polishing
2019-01-23 20:15:49 +01:00
Dave Syer
b4b8c50a50 Disable invoker plugin if it has already been done
Speeds up test cycle from command line. To reset you can just
mvn clean, or delete the marker file from target/it manually.
2019-01-18 10:32:11 +00:00
Dave Syer
cca2833f94 Tighten up contract for SingleEntryFunctionRegistry
And add some tests. Fixes gh-250.
2019-01-17 17:54:12 +00:00
Oleg Zhurakousky
9729f26397 Fixed failing webflux test 2019-01-09 17:15:53 +01:00
buildmaster
9cf4b72ef3 Bumping versions to 2.0.1.BUILD-SNAPSHOT after release 2019-01-08 11:32:36 +00:00
buildmaster
5b2345c7d4 Going back to snapshots 2019-01-08 11:32:36 +00:00
buildmaster
612d37616d Update SNAPSHOT to 2.0.0.RELEASE 2019-01-08 10:44:55 +00:00
Oleg Zhurakousky
3a494d26e2 removed stream dependency from function-sample-compiler 2019-01-08 11:39:58 +01:00
Marcin Grzejszczak
ee00f27199 Changed sample version to be non snapshot 2019-01-08 11:30:30 +01:00
buildmaster
a5fc7dfdf4 Bumping versions 2019-01-03 16:40:36 +00:00
buildmaster
43a886b7b7 Going back to snapshots 2018-12-20 19:14:43 +00:00
buildmaster
291aafd94a Update SNAPSHOT to 2.0.0.RC3 2018-12-20 19:10:34 +00:00
Oleg Zhurakousky
7559a6a55a Fixed Azur sample pom for nimbus-jose-jwt 2018-12-20 20:05:20 +01:00
Dave Syer
62b11a4a26 Add global escape hatch for switching off functional beans
This is useful for example if the user is taking care of the
functional bean registration in some other way, and still wants to
use spring.functional.enabled=false to control that.
2018-12-13 09:33:19 +00:00
Oleg Zhurakousky
d89835bd80 GH-232 Removed FunctionScan annotation
Reoved FunctionScan annotation since it provides no additional value to the end user
Preserved auto component scanning for Functions in  package
Updated filter to additionally scan for Supplier and Consumer

Resolves #232
2018-12-03 17:29:16 +01:00
Oleg Zhurakousky
564f238448 GH-236 Added initial spring-configuration-metadata.json
Resolves #236
2018-12-03 15:08:24 +01:00
Oleg Zhurakousky
fd2d59c334 Updated Kotlin docs 2018-12-03 14:01:29 +01:00
Oleg Zhurakousky
6a16a44aa0 GH-235 Moved Kotlin support to a separate module
Resolves #235
2018-11-30 18:48:32 +01:00