Dave Syer
8cce006b4c
Remove dependency on Kotlin for tests
...
The Eclipse tooling keeps flaking out and refuses to work at all
since 0.8.7. Maybe revisit this when it is stable.
2018-11-16 17:19:19 +00:00
Oleg Zhurakousky
d1b9a9b3fb
Cleaned up FunctionContextUtils
...
cleaned up FunctionContextUtils to be more generic and return Type instead of FunctionType
2018-11-08 11:17:16 +01:00
Oleg Zhurakousky
8eb7e06e02
GH-227 Moved Kotlin transformation to BFPP
...
resolves #227
2018-10-31 16:59:53 +01:00
Oleg Zhurakousky
880333d394
GH-224 Added kotlin/java func composition test
...
Added test to make ure that Kotlin and Java functions are composable
Resolves #224
2018-10-26 16:16:57 +02:00
Oleg Zhurakousky
265a9d61aa
general cleanup
2018-10-26 16:11:55 +02:00
Oleg Zhurakousky
2e5c6d22b5
Added support for input Collection param
...
Added support for function parameter type Collection
Updated both Jackson and Gson mappers
Defined a new toObject() operation on JsonMapper and deprecated the old
Resolves #210
2018-10-25 12:47:41 +01:00
Dave Syer
54deae5dba
Ensure FunctionalSpringApplication works with String sources
2018-10-23 14:03:43 +01:00
Dave Syer
c3b03a1b11
Use web-application-type=reactive by default if webflux present
...
We want the default application type to be REACTIVE if webflux is
present (formerly it was NONE). In AWS and Azure we also want
the webflux beans to be switched off in a "lite" application
context (formerly they were unconditional).
2018-10-23 14:03:43 +01:00
Oleg Zhurakousky
af717e445d
Polishing
...
Resolves #219
2018-10-22 14:26:59 +02:00
Dave Syer
ba34d4b81b
Add @FunctionalSpringBootTest and mini web server
...
User can run a minimal HTTP app using an app that is a Function
or an ApplicationContextInitializer. Can also test using
@FunctionalSpringBootTest in place of @SpringBootTest.
Add some tests and documentation for functional beans
Make server.address configurable
2018-10-22 14:26:17 +02:00
Dave Syer
4315cb1d61
SpringApplication->FunctionalSpringApplication (less confusing)
2018-10-18 09:38:27 +01:00
Dave Syer
c4ee7ab065
Add other annotation processors to functional context
2018-10-18 09:36:43 +01:00
Oleg Zhurakousky
ae07a13d03
GH-56 Added support for Function<Flux, Mono> and <Mono, Flux>
...
Resolves #56
Resolves #218
2018-10-17 21:14:27 -04:00
Dave Syer
baabff9a40
Prefer web application type NONE in functional app
2018-10-17 13:51:42 +01:00
Dave Syer
6c0e1bfc2f
Typo in javadoc
2018-10-16 16:39:29 +01:00
Oleg Zhurakousky
31e689b108
GH-208 polishing ec68f64 commit
...
Ensured that the composed Supplier is of type Mono<Void>
Fix tests
2018-10-14 20:29:13 -04:00
Oleg Zhurakousky
8c2fdfd193
GH-198 added multi-function validation test
...
Added test to validate that the behavior described in GH-198 is intentional and useful especially in light og GH-208
Resolves #198
2018-10-14 19:43:36 -04:00
Oleg Zhurakousky
ec68f6453c
GH-208 Added support for composing Supplier and Consumer
...
This essentially returns a terminal Supplier - Supplier<Flux<Void>> which can no longer be composed with anything else
Resolves #208
2018-10-14 19:29:23 -04:00
Dave Syer
666bc100e8
Extract functional bean definition concerns into a common class
...
SpringApplication looks like the class with the same name in Spring
Boot (and is a subclass of it), but it checks to see if the user
is asking for functional bean registrations and only used those if
it can.
2018-10-12 18:00:41 +01:00
Dave Syer
083d5e3bf3
Harmonize AWS and azure adapters
2018-10-12 17:10:13 +01:00
Andy Clement
2f9e4bb015
Adjust how classpath computed in test, for compatibility with Java 9+
2018-10-09 17:11:26 -07:00
Dave Syer
ca0cc7da49
Remove workaround for SPR issue (there are other ways)
2018-10-09 17:10:10 +01:00
Dave Syer
ea38827739
Alternative strategy for functional registrations
...
The problem with a BPP that processes FunctionRegistration is that
they might not be instantiated before the FunctionRegistry. It is
better to enforce the dependency order we need by injecting the
registrations explicitly but lazily into the registry.
2018-10-09 09:48:30 +01:00
Dave Syer
c20433e05f
Fix logic error detecting gson preferences
2018-10-04 09:55:15 +01:00
Dave Syer
37729e4583
Add support for ApplicationContextInitializer in azure adapter
2018-10-03 09:01:54 +01:00
Dave Syer
bb1c97251f
Use ApplicationContextInitializer if provided
...
An Initializer is more efficient than using @Configuration.
2018-10-02 12:07:51 +01:00
Oleg Zhurakousky
c43f081ef1
Cleanup and added more tests
2018-09-19 14:33:01 +02:00
Oleg Zhurakousky
76e3bf2957
polishing/refactoring
...
Undeprecated deprecated constructor in FunctionRegistration
Made FunctionRegistration BeanNameAware
Added name assertion in FunctionRegistrationPostProcessor
2018-09-18 13:21:58 +02:00
Dave Syer
3c91914f82
Purge some more deprecated constructor usages
2018-09-17 15:21:40 +01:00
Dave Syer
f7b184c4c3
Revert to more convenient signature in FunctionCatalog
2018-09-17 15:07:24 +01:00
Dave Syer
b3ff7ab680
Compiler warnings and witespace
2018-09-17 13:38:47 +01:00
Oleg Zhurakousky
40b542edfe
GH-202 Added size() to FunctionCatalog
...
Resolves #202
2018-09-12 20:17:19 +02:00
Dave Syer
d1c423e161
Add HTTP headers to outgoing messages by default
...
Some care is required to prevent request-specific headers being
reflected and interfering with content negotiation.
Fixes gh-207
2018-09-12 15:41:34 +01:00
Oleg Zhurakousky
ca47076083
GH-205 Added initial Kotlin support documentation
...
polished tests and test configuration
Resolves #205
2018-09-11 11:39:24 +02:00
Oleg Zhurakousky
87c67427df
GH-77 added initial Kotlin support
...
Added mixed java/kotlin POM configuration
added tests, javadocs
Resolves #77
Resolves #204
2018-09-11 11:37:13 +02:00
Oleg Zhurakousky
30187b583b
GH-199 Added support for typeless lookup in FunctionCatalog
...
Updated both the interface as well as InMemoryFunctionCatalog BeanFactoryFunctionCatalog and SingleEntryFunctionRegistry implementations
Added tests
Resolves #199
2018-08-15 17:56:29 +02:00
Oleg Zhurakousky
ed14474b9f
GH-191 Made 'name' required in FunctionRegistration
2018-07-30 13:48:48 +02:00
Oleg Zhurakousky
32ee27165b
GH-190 Added null check for publisher
...
Resolves #190
2018-07-27 16:07:57 +02:00
Oleg Zhurakousky
e1a7e16c18
ContextFunctionCatalogAutoConfiguration improvements
...
Removed FunctionEntry as it was no longer referenced by anything
2018-07-12 16:29:47 +02:00
Dave Syer
10b0413696
Omit optional generic information in tests
2018-07-05 14:02:25 +01:00
Oleg Zhurakousky
377c4d93f0
Code polishing and general cleanup
2018-06-27 08:43:28 -04:00
Oleg Zhurakousky
bb397c6a07
General polishing in InMemoryFunctionCatalog
2018-06-25 23:49:47 -04:00
Dave Syer
94b1e56d55
Allow user to provide own Gson or ObjectMapper
2018-06-22 16:06:39 +01:00
Dave Syer
4c9627aee3
Fix Build and upgrade fully to Boot 2.0
...
Some tests still ignored.
Also adds draft functional bean registration support. The AWS sample
is using that now (it starts up 4x faster in AWS). To activate the
functional beans user has to supply a main class of type
ApplicationContextInitializer.
2018-06-21 17:57:50 +01:00
Dave Syer
00e2b749d2
First step in 2.0.0. Remove Stream dependencies
2018-06-21 06:35:41 +01:00
Oleg Zhurakousky
8c7c8f9a1c
GH-180 added null assertion to FunctionRegistration
...
Resolves #180
2018-06-12 15:32:22 -04:00
Dave Syer
8599be2255
Make Jackson and Gson beans conditional
2018-05-21 09:05:08 +01:00
Dave Syer
66476559ed
Move JsonMapper to spring-cloud-function-context
...
...in case it is needed elsewhere (see gh-151)
2018-05-21 08:50:35 +01:00
Dave Syer
e34324b5b4
Double check that a Function can return a Mono
2018-05-15 08:43:58 +01:00
Dave Syer
eaea89532c
Add documentation for compiler configuration properties
2018-05-02 06:17:28 -04:00