93 Commits

Author SHA1 Message Date
Daniel Kec
774010ab5f Copyright space fix
Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-11-13 22:03:45 +01:00
Joe DiPol
437fbd730d Update version to 2.1.1-SNAPSHOT (#2462) 2020-10-16 15:37:23 -07:00
David Král
0dc4d4b408 DataChunkedInputStream deadlock protection removed (#2401)
Deadlock protection removed from DataChunkedInputStream

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-10-01 18:11:52 +02:00
David Král
f750827271 media-jackson native-image support (#2385)
Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-09-23 16:16:03 +02:00
Joe DiPol
78eddfe47a Update version to 2.0.3-SNAPSHOT (#2323) 2020-09-04 11:18:57 -07:00
Daniel Kec
c8883a9f81 Flush streamed datachunk one by one (#2129)
* Flush streamed datachunk one by one
* Report stream errors after headers sent

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-08-11 11:48:10 +02:00
David Král
96421c7680 Multipart postfix fix (#2233)
Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-08-06 11:01:44 +02:00
David Král
68ad56d260 Form params with ampersand and no value fix (#2227)
* Form params with ampersand and no value fix

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-08-04 11:01:29 +02:00
Romain Grecourt
b19f866327 Multipart decoder rework (#2193)
* MultiPartDecoder implementation update (first pass)

* Fix TCK tests

* fix checkstyle

* update internal doc

* improve indentation

* Fix issue with distinguishing a concurrent onError signal from a concurrent onComplete.

* Incorporate review feedback

* add upstream = CANCELED to cleanup()
2020-07-28 13:30:46 -07:00
David Král
57008e4e09 Media support for forms improved (#2144)
* Media support for forms improved

Signed-off-by: David Kral <david.k.kral@oracle.com>

* Sending multipart forms from client is now supported

Signed-off-by: David Kral <david.k.kral@oracle.com>

* checkstyle fix

Signed-off-by: David Kral <david.k.kral@oracle.com>

* spotbugs fix

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-07-20 13:12:08 -07:00
Joe DiPol
0bb8d792da Bump version to 2.0.2-SNAPSHOT. Update CHANGELOG (#2111)
* Bump version to 2.0.2-SNAPSHOT Update CHANGELOG
2020-06-30 14:47:34 -07:00
Joe DiPol
8bbe29ecc8 2.0: Update version to 2.0.1-SNAPSHOT. Update CHANGELOG (#2082)
* Update CHANGELOG.md after 2.0.0 release

* Update version to 2.0.1-SNAPSHOT
2020-06-23 11:32:04 -07:00
Romain Grecourt
3d87f25499 media support deprecations cleanup (#2068) 2020-06-19 13:37:09 -07:00
Romain Grecourt
f0c0610803 Fluent API for explicit media reader and writer usages. (#2010)
* Fluent API for explicit media reader and writer usages.

* update javadocs

* update javadocs

* support stream reader/writer

* update javadocs

* Update HealthSupport and MetricsSupport to use the new API

* fix checkstyle errors

* rename internal constant FEATURE_NAME to SERVICE_NAME is both HealthSupport and MetricsSupport

* Update FileSystemContentHandler.send to use the new API
2020-06-18 13:11:33 -07:00
Tomas Langer
6b7eb53335 Database native support update (#2028)
* Database access for native image update
* Support for Oracle JDBC driver
* Support for H2 JDBC driver
* Support for mongoDB
* Updated Pokemon example to work with all of the above

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
Co-authored-by: Paul Parkinson <paul.parkinson@gmail.com>
2020-06-17 19:32:13 +02:00
Tomas Langer
4abd0a3cd6 Feature refactoring (#1944)
* Features simplification.
* Added  excludes
* Moved initialization of log to native image extension
* Log statements for unsupported features in native image

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-06-16 18:21:24 +02:00
Daniel Kec
d74505fb83 Lazy list for even lazier acceptedTypes parsing (#1940)
* Lazy list for even lazier MediaType acceptedTypes parsing
* Get rid of laziness breaker

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-06-13 00:45:58 +02:00
Tomas Langer
afd3920ecb ReadableByteChannelPublisher executor leak (#1924)
* ReadableByteChannelPublisher now correctly closes executor.
* Byte channel publisher now part of IoMulti
* renamed methods in IoMulti
* RetrySchema now sent around only when customized
* Deprecated old methods and classes
* Renamed class to align builder, method and class name for IoMulti.

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-06-05 10:52:04 +02:00
Romain Grecourt
a9363a3d22 DataChunk ByteBuffer array (#1877)
Update DataChunk to hold an array of ByteBuffer instead of a single ByteBuffer.
2020-06-02 13:39:39 -07:00
Daniel Kec
df681ea81e Media lazy accepted types parsing (#1921)
* Lazy parsing of acceptedTypes
* LazyValue pre resolved value

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-06-02 22:29:23 +02:00
Romain Grecourt
8811f9ad2e Revert filters as function instead of reactive processors. (#1917)
* Revert filters as function instead of reactive processors.

* add back the registerFilter methods variants with function
2020-06-02 12:23:15 -07:00
David Král
f7d90a8e3d Media support methods (#1905)
* Get method removed from MessageBodyOperators
* JSON-P support changed
* JSON-B support changed
* Jackson support changed
* Default support builder added

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-06-01 18:43:35 +02:00
David Král
a180daa441 DataChunkInputStream more then one close does not throw exception (#1904)
Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-29 16:52:57 +02:00
David Král
a72e9262f8 Media support flattening (#1899)
Flattening of the media support structure
Fix for not checking of the context parent when searching for operator

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-29 16:52:39 +02:00
Daniel Kec
9d209a1a55 Deprecated Multi#from (#1888)
* Deprecated Multi#from
* Switch to Multi#create and Single#create

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-05-29 15:30:08 +02:00
Tomas Langer
8185c08069 Removed deprecations (#1892)
- Removed deprecated methods
- Updated deprecated comments to clearly mark 2.0.0 deprecations
2020-05-29 11:17:43 +02:00
Tomas Langer
93dd5b3b29 WebServer API to use Single and Multi (#1882)
* Change WebServer API to use Single and Multi.

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-05-27 21:02:30 +02:00
David Král
4e55096c71 Service loader added to MediaContext (#1861)
Media support now loadable via service loader

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-27 12:54:09 +02:00
Romain Grecourt
ab23ce10cb Multipart (#1787)
Initial implementation of multipart media support
2020-05-26 13:00:01 -07:00
David Král
9d9db4e5f0 DataChunkInputStream deadlock prevention (#1825)
DataChunkInputStream can cause deadlock if handled by the same thread as response

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-25 19:02:40 +02:00
Daniel Kec
66200b545a BufferedEmittingPublisher as replacement for OriginThreadPublisher (#1830)
* BufferedEmittingPublisher as replacement for OriginThreadPublisher

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Cleanup

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Align with OTP use-cases

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Switch webclient to new OTP replacement

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Noop emit for webclient workaround

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Javadoc fix

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Noop emit for webclient workaround

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Javadoc fix

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Switch webserver to new OTP replacement

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* OTP in webserver Jersey test fix

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Performance boost for unbounded use-cases

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Another performance boost

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Cleanup and review issues

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Kafka connector with new emitter

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* Release subscriber reference on complete/error

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>

* OnEmit callback

Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-05-22 11:05:50 -07:00
David Král
c0154b9318 DataChunkInputStream char duplication fix (#1824)
Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-19 13:36:54 +02:00
Tomas Langer
456e99964a Revert context to original read only parameters. (#1819)
Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-05-18 14:24:18 -07:00
Tomas Langer
cb662ba4b3 JSON-P Streaming support (#1796)
* JSON-P stream writer and related changes.
* Updated according to changes in #1806.

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-05-18 11:00:08 +02:00
Daniel Kec
573cd6e602 Multi await feature for intentional blocking (#1664)
* Multi await feature for intentional blocking
* Single implementing CompletionStage
2020-05-13 18:31:57 +02:00
Daniel Kec
ba18d37b5b Checkstyle fix (#1780)
* Checkstyle/Copyright fix
2020-05-13 13:03:40 +02:00
Graeme Rocher
081db2a392 Fix handling of generics when reading objects (#1769)
Jackson: fix handling of generics when reading objects
2020-05-13 10:32:35 +02:00
David Král
0db055dd0a Several minor fixes and improvements to WebClient (#1751)
* Build fix for console path in Windows.

Signed-off-by: David Kral <david.k.kral@oracle.com>

* Fix to how readers and writers should be returned by MediaSupport

Signed-off-by: David Kral <david.k.kral@oracle.com>

* Minor fixes and tests added

Signed-off-by: David Kral <david.k.kral@oracle.com>

* Sending large entity fix

Signed-off-by: David Kral <david.k.kral@oracle.com>

* Changelog update

Signed-off-by: David Kral <david.k.kral@oracle.com>

* helidon-build-tools version update

Signed-off-by: David Kral <david.k.kral@oracle.com>

* redundant import removed

Signed-off-by: David Kral <david.k.kral@oracle.com>

* minor changes

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-07 14:54:51 -07:00
David Král
4df31fdde8 WebClient used in SE examples and tests (#1646)
WebClient used in SE examples and tests

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-07 18:14:44 +02:00
David Král
05ed35d22e MediaSupport usage redesigned (#1720)
MediaSupport usage redesigned
Http methods added to WebClient interface
package private RequestConfiguration is no longer returned by public interface

Signed-off-by: David Kral <david.k.kral@oracle.com>
2020-05-07 11:17:04 +02:00
Santiago Pericasgeertsen
c79b5ee1fb Improved testing for DataChunkInputStream (#1692)
* Improved testing for DataChunkInputStream.

Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>

* Renamed new test.

Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
2020-04-28 09:20:00 -04:00
Santiago Pericasgeertsen
60abc974f3 New implementation of PublisherInputStream that improves performance and fixes race conditions (#1690)
* New implementation of PublisherInputStream, now renamed to SubscriberInputStream as it really implements a subscriber not a publisher. This new implementation fixes a couple of important problems: (1) It implements the ability to read into byte arrays, not just one byte a time for better performance and (2) It changes the implementation to avoid a race condition when accessing the data chunks held in CompletableFuture's. The race condition resulted in certain tests to hang if a thread raced and updated the value of the old 'processed' variable.

Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>

* Created inner class to implement subscriber and renamed class to prevent confusion with other public APIs. Also renamed and re-formatted internal document describing implementation.

Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>

* Fixed copyright year.

Signed-off-by: Santiago Pericasgeertsen <santiago.pericasgeertsen@oracle.com>
2020-04-27 14:16:05 -04:00
Daniel Kec
b1de9621fb Function compatible mapper (#1637)
Signed-off-by: Daniel Kec <daniel.kec@oracle.com>
2020-04-17 09:22:54 +02:00
Tomas Langer
0c94ec317a Dependency convergence + jakarta libraries. (#1600)
* Dependency convergence + jakarta libraries.
* Tests for jar and module path fro MP.
* Dependency fixes to resolve javadoc issues.
* Fixed the command line scripts that validate classpath and module path.

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
2020-04-14 20:14:44 +02:00
David Karnok
d7a4651727 [Reactive] Reorganize methods, remove Single.mapMany (#1603)
* [Reactive] Reorganize methods, remove Single.mapMany

* [Reactive] Change map(Mapper) to map(Function)

* Fix copyright year
2020-04-01 15:45:35 +02:00
Joe DiPol
7d500a2784 Java 11 javadoc fixes. Turn on failOnError (#1386)
* Java 11 javadoc fixes. Turn on failOnError
* Switch to javadoc aggregate goal. Docs are generated as part of site lifecycle
* Update build.sh to build aggregated javadocs after build
* Cleanup based on PR feedback
* Removed requires java.activation
* Update jpa-cdi module-info
* Javadoc: update webclient module-info. Restore webserver dep in native-image-extension
* Update build.sh to use tagged release of javadoc-pluing
2020-03-13 13:03:58 -07:00
David Karnok
dae2a9d3d7 Reimplement Multi.just(T[]), add Multi.singleton(T) + TCK (#1461)
* Reimplement Multi.just(T[]), add Multi.singleton(T) + TCK

* Fix copyright
2020-03-06 10:06:05 +01:00
Laird Nelson
53d4c937aa Adds Config into MediaSupport#builder() method (#1403)
Signed-off-by: Laird Nelson <laird.nelson@oracle.com>
2020-02-19 13:09:26 -08:00
Laird Nelson
25eb862246 Adds a default send(Throwable) method to ServerResponse.java as the first step in providing an easy facility for reporting exceptions during HTTP processing (#1378)
* Adds a default send(Throwable) method to ServerResponse.java as the first step in providing an easy facility for reporting exceptions during HTTP processing.

Signed-off-by: Laird Nelson <laird.nelson@oracle.com>
2020-02-18 08:39:06 -08:00
Romain Grecourt
fde8b42ed0 New media support API. (#1356)
Rework media support API.
 - Fixes #820 
 - a few APIs are deprecated to be handled later with #1375 
 - building block for the upcoming HTTP client and Multipart media support
2020-02-11 10:52:19 -08:00