Commit Graph

210 Commits

Author SHA1 Message Date
Oleg Zhurakousky
9514ed7649 Fix discovery of the default function 2019-08-22 20:33:42 +02:00
Oleg Zhurakousky
7611cba69e GH-387 Added initial support for flexible function signatures
- Added support for simple POJO functions
- Added additional utility methods
2019-08-22 16:58:18 +02:00
Oleg Zhurakousky
591b3bf531 Fixed README generation and polished few tests 2019-08-19 17:08:12 +02:00
Oleg Zhurakousky
b64af80fb1 Improved archive loader to work with Java 11
Added tests for deploying multi-input/output apps and jars
Polished logging
2019-08-12 10:09:43 +02:00
Oleg Zhurakousky
3349c3abed Added support for class loader to share common transport packages such as reactor
Simplify user exposure to deploying archives
2019-08-10 14:44:35 +02:00
Oleg Zhurakousky
1248eaaa09 Imprived class loading for new deployer 2019-08-09 18:42:48 +02:00
Oleg Zhurakousky
d53fc6b672 Added support for passing conversion hint to MessageConverter 2019-08-07 15:54:30 +02:00
Oleg Zhurakousky
6312b5e0aa Fixed BeanFactoryAwareFunctionRegistry default function definition lookup 2019-08-06 17:48:03 +02:00
Oleg Zhurakousky
d3b31a6f6b Added initial support for loading functions by type in new deployer 2019-08-06 14:23:34 +02:00
Oleg Zhurakousky
38981003b9 Simplified MessageConverter configuration 2019-07-31 08:28:34 +02:00
Oleg Zhurakousky
14451272fe Added additional logging 2019-07-31 08:27:52 +02:00
Oleg Zhurakousky
13794b08d0 Minor polishing and additional logging for BeanFactoryAwareFunctionRegistry 2019-07-30 15:54:23 +02:00
Oleg Zhurakousky
2a926cab2f Temporarily ignoring several deployer tests
Fixed test JARs poms
2019-07-30 11:33:17 +02:00
Oleg Zhurakousky
90c69368c2 Removed FunctionCatalog, BeanFactoryFunctionCatalogTests, ContextFunctionPostProcessorTests
Deprecated FluxWrapperDetector
Clean up and polishing of new BeanFactoryAwareFunctionRegistry
2019-07-30 09:06:34 +02:00
Oleg Zhurakousky
f5cf937985 Fixed output conversion for Message<byte[]> functions
- cleaned up BeanFactoryAwareFunctionRegistry
- Added javadoc to FunctionCatalog.lookup(String functionDefinition, String... acceptedOutputMimeTypes)
2019-07-27 12:41:07 +02:00
Oleg Zhurakousky
9b1e69f05d Removed auto-fluxing Supplier result when Supplier is not reactive 2019-07-26 15:33:26 +02:00
Oleg Zhurakousky
74ca973bc9 Minor polishing to accomodate edge cases in s-c-stream 2019-07-25 17:07:02 +02:00
Oleg Zhurakousky
694c7fa1bb Adding support for extracting payload only for cases where conversion is not necessary 2019-07-24 13:57:17 +02:00
Oleg Zhurakousky
243cf95eca GH-388 Adding utility to interogate Function types
- refactoring of BeanFactoryAwareFunctionRegistry to eliminate the need for FunctionType as it takes certain assumptions that are no longer valid
- adding support for multiple acceptedOutputTypes to FunctionCatalog

Resolves #388
2019-07-24 12:12:52 +02:00
Oleg Zhurakousky
fbeee8bc37 Renamed new registry implementation to BeanFactoryAwareFunctionRegistry
- added initila javadoc
- polished few tests
2019-07-17 14:48:05 +02:00
Oleg Zhurakousky
93f7a248a5 Added initial support for lazy style FunctionCatalog/Registry which:
-  does not rely on any of the existing wrappers and instead relies on internal wrapper which performs  in-flight/just-in-time wrapping and unwrapping from reactive to imperative types
- performs transparent type conversion relying on MessageConverters and ConversionService
- supports multiple inputs/outputs
2019-07-17 13:54:02 +02:00
Dave Syer
b4f5c0339f Add flag for disabling component scan 2019-07-12 17:11:58 +02:00
Oleg Zhurakousky
1cf42f95f6 GH-383 Ensure FunctionType retains ParameterizedType as 'type' filed
Resolves #383
2019-07-12 17:06:50 +02:00
Dave Syer
57689755f2 Add support for spring.cloud.function.scan.packages in functional
Fixes gh-372
2019-06-06 16:40:17 +01:00
Oleg Zhurakousky
40b070a8d1 removed commented code 2019-05-29 09:13:15 +02:00
Oleg Zhurakousky
2dad9b65c1 Bumped to spring-cloud-build 2.2
Fixed boot 2.2 related errors
set master version to 2.2.0
2019-05-28 13:22:02 +02:00
Oleg Zhurakousky
52b8d67092 Fixed RoutingFunction ClassCast exception 2019-05-21 08:41:10 -05:00
Oleg Zhurakousky
b8c1003309 Improvements RoutingFunction and MessageFunction
Added error handling to RoutingFunction
Added support for Function<Flux, Flux> to MessageFunction
2019-05-17 15:39:54 +02:00
Oleg Zhurakousky
076aa6f880 GH-363 Fixed NPE on AbstractBeanDefinition.getBeanClass() call
Resolves #363
2019-05-13 19:32:44 +02:00
Oleg Zhurakousky
4d9cdb9750 GH-238 Added initial support for RoutingFunction
- Added initial implementation of RoutingFunction which is bootstrapped optionally based on setting ‘spring.cloud.function.routing.enabled’ property to true.
- Added initial documentation and tests

Resolves #238
2019-05-07 10:13:42 +02:00
Oleg Zhurakousky
cb952648b3 Revert "GH-355 Added support for deffered initialization of Function Catalog"
This reverts commit cd0ca2f7dc.
2019-05-01 04:48:21 +02:00
Oleg Zhurakousky
f16a2c76cf GH-317 Polishing and minor refactoring in AzureSpringBootHttpRequestHandler
- Moved convertOutput() to base class and added input value as an argument
- Added javadoc
- fixed checkstyle violations

Resolves #317
Resolves #360
2019-04-29 13:46:13 +02:00
Oleg Zhurakousky
09053d3f59 GH-357 Fixed MAIN_CLASS lookup logic
Resolves #357
2019-04-17 08:26:15 +03:00
Oleg Zhurakousky
cd0ca2f7dc GH-355 Added support for deffered initialization of Function Catalog
Resolves #355
2019-04-11 16:55:16 +02:00
Walliee
5256ee177c Fix BeanFactoryFunctionCatalog initialization when a
BeanFactoryPostProcessor that depends on FunctionCatalog is present.

On application context refresh, BeanFactoryPostProcessors are
invoked before registering BeanPostProcessor(s).
If a BeanFactoryPostProcessor that depends on FunctionCatalog is present,
then when ContextFunctionCatalogAutoConfiguration tries to fetch
all functional beans (Function/Supplier/Consumer), the creation of beans
where no default constructor exists fails as
AutowiredAnnotationBeanPostProcessor hasn't been registered yet.

Initialing BeanFactoryFunctionCatalog on ApplicationReadyEvent
delays the collection of functional beans to an even later point in
the lifecycle.

fixes #352

Fix test name

Switch to use SmartInitializingSingleton

Resolves #353
2019-04-11 16:53:13 +02:00
Oleg Zhurakousky
6644130297 Polished FunctionType experimental constructor 2019-04-04 21:02:23 +02:00
Oleg Zhurakousky
9a3181532c More cleanup and simplification in AbstractComposableFunctionRegistry
- We now rely on single map (no consumers, suppliers)
- Simplified FunctionCreatorConfiguration to map FunctionType between class loaders
2019-04-04 19:55:08 +02:00
Oleg Zhurakousky
085204bad2 Miscellaneous clean up, refactoring
Simplified FunctionCatalog structure by no longer registering the actual target function since it is available in wrapper anyway.
Cleaned up logic in RequestProcessor
2019-04-03 20:33:04 +02:00
Oleg Zhurakousky
edba4c428e GH-264 Added initial support for Supplier and Consumer for Azure
Resolves #264
2019-04-03 09:37:01 +02:00
Oleg Zhurakousky
57ae22adb9 GH-350 Fixed NPE due to missing main class
Fixed NPE due to the missing main class - a condition that could be cause my missconfiguration
Added additional assertions
Added more descriptive error message
Added MAIN_CLASS system property to the search path
Added tests

Resolves #350
2019-04-02 09:02:08 +02:00
Dave Syer
5d51c6187f Use registrar instead of registering individual bean definitions
Fixes gh-351
2019-04-01 14:27:43 +01:00
Oleg Zhurakousky
210d9ad431 Added additional test and polished HybridFunctionalRegistrationTests 2019-04-01 14:30:11 +02:00
Spring Operator
3b573c27ac 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://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 247 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-21 12:48:58 -05: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
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
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
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