Commit Graph

585 Commits

Author SHA1 Message Date
Oleg Zhurakousky
ee13ef4e09 Fixed docs home page
fixed some formatting issues
2019-03-19 08:44:01 +01:00
Oleg Zhurakousky
87a878879c GH-293 Enhanced endpoint mapping support for functional form context configuration
- Enhanced HTTP endpoint mapping support for 'functional form' context configuration ensuring it can register multiple endpoint to maintain the same behaviour as with regular application context
- Additional consolidation around Function Catalog
- Added identical test for functional and non-functional form endpoint configuration.

Resolves #293
2019-03-19 08:17:13 +01:00
Spring Operator
3b4e9616ae URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://stackoverflow.com/questions/1593051/how-to-programmatically-determine-the-current-checked-out-git-branch migrated to:
  https://stackoverflow.com/questions/1593051/how-to-programmatically-determine-the-current-checked-out-git-branch ([https](https://stackoverflow.com/questions/1593051/how-to-programmatically-determine-the-current-checked-out-git-branch) result 200).
* http://stackoverflow.com/questions/29300806/a-bash-script-to-check-if-a-string-is-present-in-a-comma-separated-list-of-strin migrated to:
  https://stackoverflow.com/questions/29300806/a-bash-script-to-check-if-a-string-is-present-in-a-comma-separated-list-of-strin ([https](https://stackoverflow.com/questions/29300806/a-bash-script-to-check-if-a-string-is-present-in-a-comma-separated-list-of-strin) result 200).
* http://www.apache.org/licenses/LICENSE-2.0 migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0
* http://maven.apache.org/xsd/maven-4.0.0.xsd
* http://www.w3.org/2001/XMLSchema-instance
2019-03-19 08:15:25 +01:00
buildmaster
2d294e3d39 Bumping versions 2019-03-14 15:22:35 +00:00
Oleg Zhurakousky
8ee8215c9c Migrated docs to new styles 2019-03-14 16:04:46 +01:00
Oleg Zhurakousky
fc6c247938 Revert "Upgraded spring-cloud-build to 2.2 to get boot 2.2"
This reverts commit c46c49acd2.
2019-03-14 13:22:22 +01:00
Oleg Zhurakousky
7689f8ed60 Revert "Hoxton"
This reverts commit d67d77c4e0.
2019-03-14 13:22:05 +01:00
Marcin Grzejszczak
d67d77c4e0 Hoxton 2019-03-08 17:21:10 +01:00
Oleg Zhurakousky
c46c49acd2 Upgraded spring-cloud-build to 2.2 to get boot 2.2 2019-03-07 18:56:35 +01:00
Oleg Zhurakousky
9b2c954e7a Upgraded spring-cloud-task to 2.1.1
pllished some code and javadoc in AbstractComposableFunctionRegistry
2019-03-06 13:28:28 +01:00
Oleg Zhurakousky
d20171d196 GH-265 Added support for injecting execution context
- Added support for injecting target execution context into the ApplicationContext in AbstractSpringFunctionAdapterInitializer, effectively making it available to all adapters (if one is provided)
- Added test, docs

Resolves #265
2019-03-01 17:07:03 +01:00
neokeld
3f4401f9be Simple refactor: isSingleInput already check if input is a collection
Resolves #269
2019-03-01 05:46:45 +01:00
Oleg Zhurakousky
656741958b Additional simplifications in AbstractComposableFunctionRegistry 2019-03-01 05:43:20 +01:00
Oleg Zhurakousky
5b18fd7b3c Simplified support for implicit functions in composition
added test for namless Supplier | Function
2019-02-28 22:23:02 +01:00
Dave Syer
138e1cf3c2 Deeper support for custom AWS Lambda runtime
Adds an EnvironmentPostProcessor so the user ony has to set one
property (spring.cloud.function.web.export.enabled=true).
2019-02-28 10:05:13 -05:00
Dave Syer
8d834a7483 Support for implicit functions in composition
If there is only one function then empty String can be used as a
name to look it up.
2019-02-28 10:05:13 -05:00
Oleg Zhurakousky
b48c7b5dc0 Added initial implementation of check for supported function signatures 2019-02-28 15:41:04 +01:00
Oleg Zhurakousky
5f86e3ea1a Additional changes and fixes related to the previous GH-268 commit
- Fixed issue which was causing one of the new tests to fail *only* when running as ‘mvn install’
- Modified HttpSupplier to return a delayed Mono for non2xx responses. Add javadoc
- Added conditional retry ability to the SupplierExporter to handle both ConnectionException for cases when connection may not be available or disappears during subscription.
- Polished error handling and lifecycle logic in SupplierExporter
- Added test demonstrating both retries as well as lifecycle control

Resolves #268
2019-02-28 09:55:51 +01:00
Dave Syer
428243ce48 Add new feature to initialize a Supplier from a remote HTTP endpoint
Kind of like the SupplierExporter but to create the Supplier itself.
With this in place you can define the templateUrl (destination) and
the originaUrl (source) and use the app as a pipeline for events
from/to HTTP.

Provide functional bean support for HTTP export

Add autoconfig to AWS adapter for custom runtime

Fix HttpSupplier to always supply Message if headers are included

Fix registration of origin supplier in functional beans

Add docs on new AWS features

Add custom runtime sample
2019-02-28 09:55:51 +01:00
Oleg Zhurakousky
cdca44f714 Polished adapter initializers consolidation effort
- Added ability to retrieve input type from FunctionRegistration (if available) in AbstractSpringFunctionAdapterInitializer
- Removed azure/AzureSpringFunctionInitializer and aws/SpringFunctionInitializer
- Added additional tests in AWS and Azure modules
- See 0189c578ef for additional info
2019-02-25 19:37:34 +01:00
Dave Syer
41f66e9b48 Fix checkstyle and compiler errors 2019-02-25 15:15:35 +00:00
Dave Syer
ab9c82753f Add null check for function registration in composite 2019-02-25 14:35:14 +00:00
Dave Syer
32987230c1 Add support for composing function of Message with plain function
Fixes gh-267 at least for the most common cases.
2019-02-25 13:53:29 +00:00
Dave Syer
616bb1f685 Convert function composer to work with registrations 2019-02-25 13:51:17 +00:00
Oleg Zhurakousky
0189c578ef GH-266 Consolidated Adapter infrastructure
- Moved common logic into a new AbstractSpringFunctionAdapterInitializer
- Modified Azure and AWS request handlers to extend from it
- Deprecated both AzureSpringFunctionInitializer and SpringFunctionInitializer(AWS)

Resolves #266
2019-02-25 13:25:08 +01:00
Dave Syer
155d76b1a5 Ensure function types and names are registered in memory 2019-02-21 17:39:24 +00:00
Dave Syer
aaf268ea40 Ensure FunctionTypes get registered for composite functions
Without this change the type of a composed function in the
InMemoryFunctionCatalog is always null. The key is to register
the type at the same time as the function is registered.

Also some format and javadoc fixes (cosmetic)
2019-02-21 09:53:15 +00:00
Dave Syer
6865d53c91 Update to 2.1.0 snapshots in all the other places 2019-02-20 13:19:03 +00:00
Oleg Zhurakousky
463bfc9241 Upgraded version to 2.1.0.BUILD-SNAPSHOT 2019-02-20 10:16:17 +01:00
Oleg Zhurakousky
e86479e839 Polishing, javadoc. . . 2019-02-19 14:12:00 +01:00
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